From 864ba2551b7b86daabf64c7e8c782e6b0eb08917 Mon Sep 17 00:00:00 2001
From: wendy <408182087@qq.com>
Date: Fri, 31 May 2024 16:17:04 +0800
Subject: [PATCH] =?UTF-8?q?20240531=20=E8=B4=A8=E9=87=8F=E7=AD=96=E5=88=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../版本日志/SGGLDB_WH_2024-05-31-bwj.sql | 229 ++
SGGL/BLL/BLL.csproj | 3 +
.../ConExperienceSummaryService.cs | 72 +
.../ProjectQualityPlanService.cs | 80 +
.../QualityManagementSysService.cs | 80 +
SGGL/BLL/Common/Const.cs | 47 +
SGGL/BLL/SysManage/UserService.cs | 14 +-
.../GeneralPlanApprovalDataIn.aspx | 2 +-
.../GeneralPlanApprovalEdit.aspx | 2 +-
.../GeneralPlanApprovalEdit.aspx.cs | 2 +-
.../InspectionEquipmentEdit.aspx.cs | 2 +-
.../InspectionMachineEdit.aspx.cs | 1 +
.../Comprehensive/NCRManagementEdit.aspx.cs | 1 +
.../ManageReportNew/MonthReportEdit.aspx.cs | 4 +-
.../ManageReportNew/WeekReportEdit.aspx.cs | 2 +-
.../QualityPlanning/ConExperienceSummary.aspx | 119 +
.../ConExperienceSummary.aspx.cs | 350 ++
.../ConExperienceSummary.aspx.designer.cs | 204 ++
.../ConExperienceSummaryDataIn.aspx | 68 +
.../ConExperienceSummaryDataIn.aspx.cs | 438 +++
...onExperienceSummaryDataIn.aspx.designer.cs | 123 +
.../ConExperienceSummaryEdit.aspx | 65 +
.../ConExperienceSummaryEdit.aspx.cs | 152 +
.../ConExperienceSummaryEdit.aspx.designer.cs | 114 +
.../CQMS/QualityPlanning/Organizational.aspx | 207 ++
.../QualityPlanning/Organizational.aspx.cs | 510 +++
.../Organizational.aspx.designer.cs | 177 +
.../QualityPlanning/ProjectQualityPlan.aspx | 119 +
.../ProjectQualityPlan.aspx.cs | 354 ++
.../ProjectQualityPlan.aspx.designer.cs | 204 ++
.../ProjectQualityPlanDataIn.aspx | 68 +
.../ProjectQualityPlanDataIn.aspx.cs | 435 +++
.../ProjectQualityPlanDataIn.aspx.designer.cs | 123 +
.../ProjectQualityPlanEdit.aspx | 65 +
.../ProjectQualityPlanEdit.aspx.cs | 151 +
.../ProjectQualityPlanEdit.aspx.designer.cs | 159 +
.../QualityPlanning/QualityManagementSys.aspx | 119 +
.../QualityManagementSys.aspx.cs | 354 ++
.../QualityManagementSys.aspx.designer.cs | 204 ++
.../QualityManagementSysDataIn.aspx | 68 +
.../QualityManagementSysDataIn.aspx.cs | 435 +++
...ualityManagementSysDataIn.aspx.designer.cs | 123 +
.../QualityManagementSysEdit.aspx | 65 +
.../QualityManagementSysEdit.aspx.cs | 151 +
.../QualityManagementSysEdit.aspx.designer.cs | 159 +
.../类似项目施工经验总结清单导入模板.xls | Bin 0 -> 20480 bytes
.../Excel/DataIn/质量管理制度导入模板.xls | Bin 0 -> 20992 bytes
.../Excel/DataIn/项目质量计划导入模板.xls | Bin 0 -> 20992 bytes
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 82 +
SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user | 5 +-
SGGL/FineUIPro.Web/Login.aspx | 2 +-
SGGL/FineUIPro.Web/common/Menu_CQMS.xml | 6 +
.../common/mainMenu_CQMS.aspx.cs | 6 +-
.../res/images/Organizational.png | Bin 0 -> 11018 bytes
SGGL/Model/Model.cs | 3027 +++++++++++++----
55 files changed, 8802 insertions(+), 750 deletions(-)
create mode 100644 DataBase/版本日志/SGGLDB_WH_2024-05-31-bwj.sql
create mode 100644 SGGL/BLL/CQMS/QualityPlanning/ConExperienceSummaryService.cs
create mode 100644 SGGL/BLL/CQMS/QualityPlanning/ProjectQualityPlanService.cs
create mode 100644 SGGL/BLL/CQMS/QualityPlanning/QualityManagementSysService.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/类似项目施工经验总结清单导入模板.xls
create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/质量管理制度导入模板.xls
create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/项目质量计划导入模板.xls
create mode 100644 SGGL/FineUIPro.Web/res/images/Organizational.png
diff --git a/DataBase/版本日志/SGGLDB_WH_2024-05-31-bwj.sql b/DataBase/版本日志/SGGLDB_WH_2024-05-31-bwj.sql
new file mode 100644
index 00000000..f087d1e5
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2024-05-31-bwj.sql
@@ -0,0 +1,229 @@
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('F5585C62-1F12-4073-8733-C0826FB692DB','','',190,'0','Menu_CQMS',0,0,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','Ŀƻ','CQMS/QualityPlanning/ProjectQualityPlan.aspx',10,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
+go
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('8DEF71B6-6097-44A6-AFE0-84AB92DD7455','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','',1)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('BAD25B64-2D8F-4B30-B137-7986FF523473','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','',2)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('71B220CB-07CE-4DAF-8517-5BBDF22D4BBD','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','ɾ',3)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('40EBFB1C-F001-4594-BC7C-86EBFEF5FA13','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','',4)
+ go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','ƶ','CQMS/QualityPlanning/QualityManagementSys.aspx',20,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
+go
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('7ADC74D8-FDED-49CA-B8C9-C01A7D9A187A','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','',1)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('3C62B9BD-03B1-4A70-AFA3-F7EC65AFE851','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','',2)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('FBC917B6-1477-4ABB-AE6B-4ED7F9F484D7','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','ɾ',3)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('6DC9D9A7-92C9-4F04-9001-214ED0DE992F','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','',4)
+ go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('6769098A-53D7-4585-87CC-2DADBCBC2C74','Ŀʩܽ嵥','CQMS/QualityPlanning/ConExperienceSummary.aspx',30,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
+go
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('B1933915-149F-4A3C-9DA0-410C53C55DA4','6769098A-53D7-4585-87CC-2DADBCBC2C74','',1)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('6B198C01-41CC-4CE0-8DB4-74AC278E9E7B','6769098A-53D7-4585-87CC-2DADBCBC2C74','',2)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('AC64DDB9-8E3B-40F3-9CF0-0F83CA4C959A','6769098A-53D7-4585-87CC-2DADBCBC2C74','ɾ',3)
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('AA27DD51-31A8-496A-9F6D-7117AA94A4EF','6769098A-53D7-4585-87CC-2DADBCBC2C74','',4)
+ go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('B340205A-8857-4D0D-9E4C-41D91A417A77','֯','CQMS/QualityPlanning/Organizational.aspx',40,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
+go
+ insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ values('1AF561F4-5EE1-43BA-B171-9FB7A4AF9BDC','B340205A-8857-4D0D-9E4C-41D91A417A77','鿴',1)
+ go
+
+CREATE TABLE [dbo].[QualityPlanning_ProjectQualityPlan](
+ [ProjectQualityPlanId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [FileCode] [nvarchar](50) NULL,
+ [FileName] [nvarchar](100) NULL,
+ [CompileMan] [nvarchar](50) NULL,
+ [CompileDate] [datetime] NULL,
+ [Auditor] [nvarchar](50) NULL,
+ [Approver] [nvarchar](50) NULL,
+ [ApprovalDate] [datetime] NULL,
+ CONSTRAINT [PK_QualityPlanning_ProjectQualityPlan] PRIMARY KEY CLUSTERED
+(
+ [ProjectQualityPlanId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Base_Project] FOREIGN KEY([ProjectId])
+REFERENCES [dbo].[Base_Project] ([ProjectId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] CHECK CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Base_Project]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Sys_User] FOREIGN KEY([CompileMan])
+REFERENCES [dbo].[Sys_User] ([UserId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] CHECK CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Sys_User]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ProjectQualityPlanId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ProjectId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ļ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'FileCode'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ļ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'FileName'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'CompileMan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'CompileDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'Auditor'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'Approver'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ApprovalDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan'
+GO
+
+
+
+
+CREATE TABLE [dbo].[QualityPlanning_QualityManagementSys](
+ [QualityManagementSysId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [FileCode] [nvarchar](50) NULL,
+ [FileName] [nvarchar](100) NULL,
+ [CompileMan] [nvarchar](50) NULL,
+ [CompileDate] [datetime] NULL,
+ [Auditor] [nvarchar](50) NULL,
+ [Approver] [nvarchar](50) NULL,
+ [ApprovalDate] [datetime] NULL,
+ CONSTRAINT [PK_QualityPlanning_QualityManagementSys] PRIMARY KEY CLUSTERED
+(
+ [QualityManagementSysId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Base_Project] FOREIGN KEY([ProjectId])
+REFERENCES [dbo].[Base_Project] ([ProjectId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] CHECK CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Base_Project]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Sys_User] FOREIGN KEY([CompileMan])
+REFERENCES [dbo].[Sys_User] ([UserId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] CHECK CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Sys_User]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'QualityManagementSysId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'ProjectId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ļ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'FileCode'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ļ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'FileName'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'CompileMan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'CompileDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'Auditor'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'Approver'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'ApprovalDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƶ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys'
+GO
+
+
+CREATE TABLE [dbo].[QualityPlanning_ConExperienceSummary](
+ [ConExperienceSummaryId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [FileName] [nvarchar](100) NULL,
+ [CompileMan] [nvarchar](50) NULL,
+ [CompileDate] [datetime] NULL,
+ CONSTRAINT [PK_QualityPlanning_ConExperienceSummary] PRIMARY KEY CLUSTERED
+(
+ [ConExperienceSummaryId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Base_Project] FOREIGN KEY([ProjectId])
+REFERENCES [dbo].[Base_Project] ([ProjectId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] CHECK CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Base_Project]
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Sys_User] FOREIGN KEY([CompileMan])
+REFERENCES [dbo].[Sys_User] ([UserId])
+GO
+
+ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] CHECK CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Sys_User]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'ConExperienceSummaryId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'ProjectId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ļ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'FileName'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'CompileMan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'CompileDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀʩܽ嵥' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary'
+GO
+
+alter table Comprehensive_GeneralPlanApproval alter column PlanName nvarchar(300)
+go
+
+
+create view View_ProjectUserWorkPost
+as
+select ProjectUserId,ProjectUser.UserId,ProjectUser.UnitId,ProjectUser.ProjectId,UserName,WorkPostName
+from Project_ProjectUser ProjectUser
+LEFT JOIN Sys_User AS Users ON ProjectUser.UserId = Users.UserId
+LEFT JOIN SitePerson_Person AS Person ON ProjectUser.ProjectId =Person.ProjectId AND Users.IdentityCard = Person.IdentityCard
+LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId
+GO
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 6ef3d483..b1ab29fd 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -279,6 +279,9 @@
+
+
+
diff --git a/SGGL/BLL/CQMS/QualityPlanning/ConExperienceSummaryService.cs b/SGGL/BLL/CQMS/QualityPlanning/ConExperienceSummaryService.cs
new file mode 100644
index 00000000..869bc3b6
--- /dev/null
+++ b/SGGL/BLL/CQMS/QualityPlanning/ConExperienceSummaryService.cs
@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL
+{
+ ///
+ /// 类似项目施工经验总结清单
+ ///
+ public class ConExperienceSummaryService
+ {
+ ///
+ /// 根据主键获取类似项目施工经验总结清单
+ ///
+ ///
+ ///
+ public static Model.QualityPlanning_ConExperienceSummary GetConExperienceSummaryById(string conId)
+ {
+ return Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == conId);
+ }
+
+ ///
+ /// 添加类似项目施工经验总结清单
+ ///
+ ///
+ public static void AddConExperienceSummary(Model.QualityPlanning_ConExperienceSummary con)
+ {
+ Model.QualityPlanning_ConExperienceSummary newCon = new Model.QualityPlanning_ConExperienceSummary()
+ {
+ ConExperienceSummaryId = con.ConExperienceSummaryId,
+ ProjectId = con.ProjectId,
+ FileName = con.FileName,
+ CompileMan = con.CompileMan,
+ CompileDate = con.CompileDate
+ };
+ Funs.DB.QualityPlanning_ConExperienceSummary.InsertOnSubmit(newCon);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 修改类似项目施工经验总结清单
+ ///
+ ///
+ public static void UpdateExperienceSummary(Model.QualityPlanning_ConExperienceSummary con)
+ {
+ Model.QualityPlanning_ConExperienceSummary newCon = Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == con.ConExperienceSummaryId);
+ if (newCon != null)
+ {
+ newCon.FileName = con.FileName;
+ newCon.CompileMan = con.CompileMan;
+ newCon.CompileDate = con.CompileDate;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 根据主键删除类似项目施工经验总结清单
+ ///
+ ///
+ public static void DeleteConExperienceSummaryById(string conId)
+ {
+ Model.QualityPlanning_ConExperienceSummary con = Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == conId);
+ if (con != null)
+ {
+ Funs.DB.QualityPlanning_ConExperienceSummary.DeleteOnSubmit(con);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/BLL/CQMS/QualityPlanning/ProjectQualityPlanService.cs b/SGGL/BLL/CQMS/QualityPlanning/ProjectQualityPlanService.cs
new file mode 100644
index 00000000..b63534b4
--- /dev/null
+++ b/SGGL/BLL/CQMS/QualityPlanning/ProjectQualityPlanService.cs
@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL
+{
+ ///
+ /// 项目质量计划
+ ///
+ public class ProjectQualityPlanService
+ {
+ ///
+ /// 根据主键获取项目质量计划
+ ///
+ ///
+ ///
+ public static Model.QualityPlanning_ProjectQualityPlan GetProjectQualityPlanById(string projectQualityPlanId)
+ {
+ return Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlanId);
+ }
+
+ ///
+ /// 添加项目质量计划
+ ///
+ ///
+ public static void AddProjectQualityPlan(Model.QualityPlanning_ProjectQualityPlan projectQualityPlan)
+ {
+ Model.QualityPlanning_ProjectQualityPlan newProjectQualityPlan = new Model.QualityPlanning_ProjectQualityPlan()
+ {
+ ProjectQualityPlanId = projectQualityPlan.ProjectQualityPlanId,
+ ProjectId = projectQualityPlan.ProjectId,
+ FileCode = projectQualityPlan.FileCode,
+ FileName = projectQualityPlan.FileName,
+ CompileMan = projectQualityPlan.CompileMan,
+ CompileDate = projectQualityPlan.CompileDate,
+ Auditor = projectQualityPlan.Auditor,
+ Approver = projectQualityPlan.Approver,
+ ApprovalDate = projectQualityPlan.ApprovalDate,
+ };
+ Funs.DB.QualityPlanning_ProjectQualityPlan.InsertOnSubmit(newProjectQualityPlan);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 修改项目质量计划
+ ///
+ ///
+ public static void UpdateProjectQualityPlan(Model.QualityPlanning_ProjectQualityPlan projectQualityPlan)
+ {
+ Model.QualityPlanning_ProjectQualityPlan newProjectQualityPlan = Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlan.ProjectQualityPlanId);
+ if (newProjectQualityPlan != null)
+ {
+ newProjectQualityPlan.FileCode = projectQualityPlan.FileCode;
+ newProjectQualityPlan.FileName = projectQualityPlan.FileName;
+ newProjectQualityPlan.CompileMan = projectQualityPlan.CompileMan;
+ newProjectQualityPlan.CompileDate = projectQualityPlan.CompileDate;
+ newProjectQualityPlan.Auditor = projectQualityPlan.Auditor;
+ newProjectQualityPlan.Approver = projectQualityPlan.Approver;
+ newProjectQualityPlan.ApprovalDate = projectQualityPlan.ApprovalDate;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 根据主键删除项目质量计划
+ ///
+ ///
+ public static void DeleteProjectQualityPlanById(string projectQualityPlanId)
+ {
+ Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlanId);
+ if (projectQualityPlan != null)
+ {
+ Funs.DB.QualityPlanning_ProjectQualityPlan.DeleteOnSubmit(projectQualityPlan);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/BLL/CQMS/QualityPlanning/QualityManagementSysService.cs b/SGGL/BLL/CQMS/QualityPlanning/QualityManagementSysService.cs
new file mode 100644
index 00000000..33ad1967
--- /dev/null
+++ b/SGGL/BLL/CQMS/QualityPlanning/QualityManagementSysService.cs
@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL
+{
+ ///
+ /// 质量管理制度
+ ///
+ public class QualityManagementSysService
+ {
+ ///
+ /// 根据主键获取质量管理制度
+ ///
+ ///
+ ///
+ public static Model.QualityPlanning_QualityManagementSys GetQualityManagementSysById(string qualityManagementSysId)
+ {
+ return Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == qualityManagementSysId);
+ }
+
+ ///
+ /// 添加质量管理制度
+ ///
+ ///
+ public static void AddQualityManagementSys(Model.QualityPlanning_QualityManagementSys sys)
+ {
+ Model.QualityPlanning_QualityManagementSys newSys = new Model.QualityPlanning_QualityManagementSys()
+ {
+ QualityManagementSysId = sys.QualityManagementSysId,
+ ProjectId = sys.ProjectId,
+ FileCode = sys.FileCode,
+ FileName = sys.FileName,
+ CompileMan = sys.CompileMan,
+ CompileDate = sys.CompileDate,
+ Auditor = sys.Auditor,
+ Approver = sys.Approver,
+ ApprovalDate = sys.ApprovalDate,
+ };
+ Funs.DB.QualityPlanning_QualityManagementSys.InsertOnSubmit(newSys);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 修改质量管理制度
+ ///
+ ///
+ public static void UpdateQualityManagementSys(Model.QualityPlanning_QualityManagementSys sys)
+ {
+ Model.QualityPlanning_QualityManagementSys newSys = Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == sys.QualityManagementSysId);
+ if (newSys != null)
+ {
+ newSys.FileCode = sys.FileCode;
+ newSys.FileName = sys.FileName;
+ newSys.CompileMan = sys.CompileMan;
+ newSys.CompileDate = sys.CompileDate;
+ newSys.Auditor = sys.Auditor;
+ newSys.Approver = sys.Approver;
+ newSys.ApprovalDate = sys.ApprovalDate;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 根据主键删除质量管理制度
+ ///
+ ///
+ public static void DeleteQualityManagementSys(string sysId)
+ {
+ Model.QualityPlanning_QualityManagementSys sys = Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == sysId);
+ if (sys != null)
+ {
+ Funs.DB.QualityPlanning_QualityManagementSys.DeleteOnSubmit(sys);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index 35d4ddf2..8187e114 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -615,6 +615,16 @@ namespace BLL
/// 本部安全质量工程师
///
public static string SGSecurityQAEngineer = "0aefd378-cba6-4838-bdec-2d53897ab27f";
+
+ ///
+ /// 仓库管理员
+ ///
+ public const string Warehouseman = "5127d9f7-2765-4388-a313-3112cc7cb543";
+
+ ///
+ /// 开车工程师
+ ///
+ public const string CarEngineer = "89F8AA0B-77ED-4B17-B697-EFF7259C790B";
#endregion
#region 报表流程定义
@@ -3319,6 +3329,21 @@ namespace BLL
///
public const string ConTechnologyDisclosureTemUrl = "File\\Excel\\DataIn\\施工技术交底管理导入模板.xls";
+ ///
+ /// 项目质量计划导入模板原始虚拟路径
+ ///
+ public const string ProjectQualityPlanTemUrl = "File\\Excel\\DataIn\\项目质量计划导入模板.xls";
+
+ ///
+ /// 质量管理制度导入模板原始虚拟路径
+ ///
+ public const string QualityManagementSysTemUrl = "File\\Excel\\DataIn\\质量管理制度导入模板.xls";
+
+ ///
+ /// 类似项目施工经验总结清单原始虚拟路径
+ ///
+ public const string ConExperienceSummaryTemUrl = "File\\Excel\\DataIn\\类似项目施工经验总结清单导入模板.xls";
+
#region 导出模板
///
/// 质量专项检查模板文件原始虚拟路径
@@ -3904,6 +3929,28 @@ namespace BLL
#endregion
#region 五环质量
+ #region 质量策划
+ ///
+ /// 项目质量计划
+ ///
+ public const string ProjectQualityPlanMenuId = "1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA";
+
+ ///
+ /// 质量管理制度
+ ///
+ public const string QualityManagementSysMenuId = "46E6F0A6-A6A2-4904-9B69-CD91342D7DF8";
+
+ ///
+ /// 类似项目施工经验总结清单
+ ///
+ public const string ConExperienceSummaryMenuId = "6769098A-53D7-4585-87CC-2DADBCBC2C74";
+
+ ///
+ /// 质量管理组织机构
+ ///
+ public const string OrganizationalMenuId = "B340205A-8857-4D0D-9E4C-41D91A417A77";
+ #endregion
+
///
/// 建筑工程ID
///
diff --git a/SGGL/BLL/SysManage/UserService.cs b/SGGL/BLL/SysManage/UserService.cs
index 9d6a40c2..32f1d91d 100644
--- a/SGGL/BLL/SysManage/UserService.cs
+++ b/SGGL/BLL/SysManage/UserService.cs
@@ -624,7 +624,7 @@ namespace BLL
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
where y.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true && y.IsPost == true && x.UserId != notCopyManId
- orderby x.UserName
+ orderby x.UserName
select x).ToList();
}
else
@@ -633,7 +633,7 @@ namespace BLL
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
where y.ProjectId == projectId && x.IsPost == true && y.IsPost == true && x.UserId != notCopyManId
- orderby x.UserName
+ orderby x.UserName
select x).ToList();
}
@@ -1610,5 +1610,15 @@ namespace BLL
return list;
}
}
+
+ public static List GetUserNameListsByWorkPostName(string projectId, string workPostName)
+ {
+ return (from x in Funs.DB.View_ProjectUserWorkPost where x.ProjectId == projectId && x.WorkPostName == workPostName select x.UserName).ToList();
+ }
+
+ public static List GetUserNameListsByUnitIdWorkPostName(string projectId,string unitId, string workPostName)
+ {
+ return (from x in Funs.DB.View_ProjectUserWorkPost where x.ProjectId == projectId && x.UnitId== unitId && x.WorkPostName == workPostName select x.UserName).ToList();
+ }
}
}
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx
index 13fa0c32..38f208c9 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx
@@ -1,4 +1,4 @@
-<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalDataIn" %>
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalDataIn" ValidateRequest="false" %>
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx
index 173618dd..e6cc4aba 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx
@@ -1,4 +1,4 @@
-<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalEdit" %>
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalEdit" ValidateRequest="false" %>
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx.cs
index 12819210..5742b999 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalEdit.aspx.cs
@@ -108,7 +108,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
generalPlanApproval.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
}
generalPlanApproval.PlanCode = this.txtPlanCode.Text.Trim();
- generalPlanApproval.PlanName = this.txtPlanName.Text.Trim();
+ generalPlanApproval.PlanName = this.txtPlanName.Text.Trim().ToString();
if (!string.IsNullOrEmpty(this.txtApprovalDate.Text))
{
generalPlanApproval.ApprovalDate = Convert.ToDateTime(this.txtApprovalDate.Text);
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipmentEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipmentEdit.aspx.cs
index 0ab3bba4..f5199e0c 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipmentEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipmentEdit.aspx.cs
@@ -330,7 +330,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
return;
}
- var q = Funs.DB.Comprehensive_InspectionEquipment.FirstOrDefault(x => x.RemarkCode ==Funs.GetNewInt(this.txtRemarkCode.Text.Trim()) && (x.InspectionEquipmentId != this.InspectionEquipmentId || (this.InspectionEquipmentId == null && x.InspectionEquipmentId != null)));
+ var q = Funs.DB.Comprehensive_InspectionEquipment.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.RemarkCode == Funs.GetNewInt(this.txtRemarkCode.Text.Trim()) && (x.InspectionEquipmentId != this.InspectionEquipmentId || (this.InspectionEquipmentId == null && x.InspectionEquipmentId != null)));
if (q != null)
{
Alert.ShowInTop("标志编号已存在!", MessageBoxIcon.Warning);
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachineEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachineEdit.aspx.cs
index 775f42c2..a30b51b8 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachineEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachineEdit.aspx.cs
@@ -296,6 +296,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
inspectionMachone.IsCheckOK = this.rblIsCheckOK.SelectedValue == "true" ? true : false;
inspectionMachone.LeaveDate = Funs.GetNewDateTime(this.txtLeaveDate.Text);
inspectionMachone.UnitsCount = Funs.GetNewInt(this.txtUnitsCount.Text.Trim());
+ inspectionMachone.RemarkCode = Funs.GetNewInt(this.txtRemarkCode.Text.Trim());
if (!string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
inspectionMachone.AuditMan = drpAudit.SelectedValue;
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagementEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagementEdit.aspx.cs
index d17a66e0..8e70cfe5 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagementEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagementEdit.aspx.cs
@@ -395,6 +395,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
unitIds = unitIds.Substring(0, unitIds.LastIndexOf(","));
}
nCRManagement.ReceiveUnit = unitIds;
+ nCRManagement.RemarkCode = Funs.GetNewInt(this.txtRemarkCode.Text.Trim());
if (string.IsNullOrEmpty(this.NCRManagementId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReportEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReportEdit.aspx.cs
index a4669f34..12b89e6b 100644
--- a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReportEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReportEdit.aspx.cs
@@ -2410,9 +2410,9 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
u.UnitId,
u.UnitName
};
- var AllList = query.ToList();//项目数
+ var AllList = query.Where(x => x.IsReply == true).ToList();//项目数
//本月数
- var monethCount = query.Where(x => (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
+ var monethCount = query.Where(x => x.IsReply == true && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
var yzCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));//本月业主/ 监理返回数量
int totalReturnCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null).Count();//总的已返回数量
var NoBackCount = AllList.Count() - totalReturnCount;//累计未返回数量
diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReportEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReportEdit.aspx.cs
index eded5ab3..5a8c65dd 100644
--- a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReportEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReportEdit.aspx.cs
@@ -2402,7 +2402,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
u.UnitId,
u.UnitName
};
- var AllList = query.ToList();//项目数
+ var AllList = query.Where(x => x.IsReply == true).ToList();//项目数
//本月数
var monethCount = query.Where(x => (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
var yzCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));//本月业主/ 监理返回数量
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx
new file mode 100644
index 00000000..3c90961a
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx
@@ -0,0 +1,119 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummary.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummary" %>
+
+
+
+
+
+
+ 类似项目施工经验总结清单
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.cs
new file mode 100644
index 00000000..2493b0ea
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.cs
@@ -0,0 +1,350 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class ConExperienceSummary : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"SELECT p.ConExperienceSummaryId,
+ p.ProjectId,
+ p.FileName,
+ p.CompileMan,
+ p.CompileDate,
+ u.UserName AS CompileManName"
+ + @" FROM QualityPlanning_ConExperienceSummary AS p"
+ + @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ + @" WHERE p.ProjectId=@projectId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
+ //if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ //{
+ // strSql += " AND p.FileCode LIKE @fileCode";
+ // listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
+ //}
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ strSql += " AND p.FileName LIKE @fileName";
+ listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
+ }
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+ #endregion
+
+ #region 分页、排序
+ ///
+ /// 分页下拉
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 分页索引事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 关闭弹出窗口
+ ///
+ /// 关闭弹出窗口
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 增加
+ ///
+ /// 新增按钮事件
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ConExperienceSummaryEdit.aspx", "编辑 - ")));
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 右键编辑
+ ///
+ ///
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ConExperienceSummaryEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuModify_Click(sender, e);
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除
+ ///
+ ///
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var con = BLL.ConExperienceSummaryService.GetConExperienceSummaryById(rowID);
+ if (con != null)
+ {
+ BLL.ConExperienceSummaryService.DeleteConExperienceSummaryById(rowID);
+ }
+ }
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入按钮
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ConExperienceSummaryDataIn.aspx", "导入 - ")));
+ }
+ #endregion
+
+ #region 导出按钮
+ /// 导出按钮
+ ///
+ ///
+ ///
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ string rootPath = Server.MapPath("~/");
+ string initTemplatePath = Const.ConExperienceSummaryTemUrl;
+ string uploadfilepath = string.Empty;
+ string newUrl = string.Empty;
+ uploadfilepath = rootPath + initTemplatePath;
+
+ var lists = (from x in Funs.DB.QualityPlanning_ConExperienceSummary
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x);
+ //if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ //{
+ // lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
+ //}
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
+ }
+ lists = lists.OrderByDescending(x => x.CompileDate);
+ if (lists != null)
+ {
+ string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
+ newUrl = uploadfilepath.Replace("类似项目施工经验总结清单导入模板", "类似项目施工经验总结清单(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")");
+ File.Copy(uploadfilepath, newUrl);
+ // 第一步:读取文件流
+ NPOI.SS.UserModel.IWorkbook workbook;
+ using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
+ {
+ //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
+ workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
+ }
+ // 创建单元格样式
+ NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
+ cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
+ cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
+ cellStyle.WrapText = true;//自动换行
+ var font = workbook.CreateFont();
+ font.FontHeightInPoints = 11;
+ cellStyle.SetFont(font);
+
+ // 第二步:创建新数据行
+ NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
+ NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
+ NPOI.SS.UserModel.ICell cell;
+ int i = 2;
+ foreach (var item in lists)
+ {
+ // 第二步:创建新数据行
+ row = sheet.CreateRow(i);
+ // 添加数据
+ //cell = row.CreateCell(0);
+ //cell.CellStyle = cellStyle;
+ //cell.SetCellValue(item.FileCode);//文件编号
+
+ cell = row.CreateCell(0);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.FileName);//文件名称
+
+ //cell = row.CreateCell(2);
+ //cell.CellStyle = cellStyle;
+ //cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
+
+ //cell = row.CreateCell(3);
+ //cell.CellStyle = cellStyle;
+ //cell.SetCellValue(item.Auditor);//审核人
+
+ //cell = row.CreateCell(4);
+ //cell.CellStyle = cellStyle;
+ //cell.SetCellValue(item.Approver);//批准人
+
+ //cell = row.CreateCell(5);
+ //cell.CellStyle = cellStyle;
+ //cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
+
+ i++;
+ }
+ // 第三步:写入文件流
+ using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
+ {
+ workbook.Write(stream);
+ workbook.Close();
+ }
+ string fileName = Path.GetFileName(newUrl);
+ FileInfo info = new FileInfo(newUrl);
+ long fileSize = info.Length;
+ Response.Clear();
+ Response.ContentType = "application/x-zip-compressed";
+ Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ Response.AddHeader("Content-Length", fileSize.ToString());
+ Response.TransmitFile(newUrl, 0, fileSize);
+ Response.Flush();
+ Response.Close();
+ File.Delete(newUrl);
+ }
+ else
+ {
+ Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
+ }
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ConExperienceSummaryMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuModify.Hidden = false;
+ this.Grid1.EnableRowDoubleClickEvent = true;
+ }
+ else
+ {
+ this.Grid1.EnableRowDoubleClickEvent = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDel.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnImport.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.designer.cs
new file mode 100644
index 00000000..e328af77
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummary.aspx.designer.cs
@@ -0,0 +1,204 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ConExperienceSummary {
+
+ ///
+ /// 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;
+
+ ///
+ /// ToolSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar ToolSearch;
+
+ ///
+ /// txtFileCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileCode;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+
+ ///
+ /// lbtnFileUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx
new file mode 100644
index 00000000..1722a5a2
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx
@@ -0,0 +1,68 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummaryDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummaryDataIn" %>
+
+
+
+
+
+
+ 导入类似项目施工经验总结清单
+
+
+
+
+
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.cs
new file mode 100644
index 00000000..ff56a805
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.cs
@@ -0,0 +1,438 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.OleDb;
+using System.IO;
+using System.Linq;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class ConExperienceSummaryDataIn : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 上传预设的虚拟路径
+ ///
+ private string initPath = Const.ExcelUrl;
+
+
+ ///
+ /// 错误集合
+ ///
+ public static List errorInfos = new List();
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.hdCheckResult.Text = string.Empty;
+ this.hdFileName.Text = string.Empty;
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ }
+ }
+ #endregion
+
+ #region 审核
+ ///
+ /// 审核
+ ///
+ ///
+ ///
+ protected void btnAudit_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (this.fuAttachUrl.HasFile == false)
+ {
+ ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
+ if (IsXls != ".xls")
+ {
+ ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ string rootPath = Server.MapPath("~/");
+ string initFullPath = rootPath + initPath;
+ if (!Directory.Exists(initFullPath))
+ {
+ Directory.CreateDirectory(initFullPath);
+ }
+
+ this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
+ string filePath = initFullPath + this.hdFileName.Text;
+ this.fuAttachUrl.PostedFile.SaveAs(filePath);
+ ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
+ }
+ catch (Exception ex)
+ {
+ ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region 读Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL(ds.Tables[0], 1);
+ hdCheckResult.Text = "1";
+ }
+ catch (Exception exc)
+ {
+ Response.Write(exc);
+ //return null;
+ // return dt;
+ }
+ finally
+ {
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集行数
+ ///
+ private bool AddDatasetToSQL(DataTable pds, int Cols)
+ {
+ string result = string.Empty;
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ return false;
+ }
+
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_ConExperienceSummary
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ //var users = from x in Funs.DB.Project_ProjectUser
+ // join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ // where x.ProjectId == this.CurrUser.LoginProjectId
+ // select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ Model.QualityPlanning_ConExperienceSummary oldViewInfo = new Model.QualityPlanning_ConExperienceSummary();
+ //string row0 = pds.Rows[i][0].ToString().Trim();
+ //if (string.IsNullOrEmpty(row0))
+ //{
+ // result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
+ //}
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (string.IsNullOrEmpty(row0))
+ {
+ result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
+ }
+ //string row2 = pds.Rows[i][2].ToString().Trim();
+ //if (!string.IsNullOrEmpty(row2))
+ //{
+ // var u = users.Where(x => x.UserName == row2).FirstOrDefault();
+ // if (u == null)
+ // {
+ // result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
+ // }
+ //}
+
+ //string row5 = pds.Rows[i][5].ToString().Trim();
+ //if (!string.IsNullOrEmpty(row5))
+ //{
+ // try
+ // {
+ // DateTime d = Convert.ToDateTime(row5);
+ // }
+ // catch (Exception)
+ // {
+ // result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
+ // }
+ //}
+ }
+ if (!string.IsNullOrEmpty(result))
+ {
+ result = result.Substring(0, result.LastIndexOf("|"));
+ }
+ errorInfos.Clear();
+ if (!string.IsNullOrEmpty(result))
+ {
+ string results = result;
+ List errorInfoList = results.Split('|').ToList();
+ foreach (var item in errorInfoList)
+ {
+ string[] errors = item.Split(',');
+ Model.ErrorInfo errorInfo = new Model.ErrorInfo();
+ errorInfo.Row = errors[0];
+ errorInfo.Column = errors[1];
+ errorInfo.Reason = errors[2];
+ errorInfos.Add(errorInfo);
+ }
+ if (errorInfos.Count > 0)
+ {
+ this.gvErrorInfo.DataSource = errorInfos;
+ this.gvErrorInfo.DataBind();
+ }
+ }
+ else
+ {
+ ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(hdCheckResult.Text))
+ {
+ if (errorInfos.Count <= 0)
+ {
+ string rootPath = Server.MapPath("~/");
+ ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
+ hdCheckResult.Text = string.Empty;
+ ShowNotify("导入成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ else
+ {
+ ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
+ }
+ }
+ else
+ {
+ ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData2(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL2(ds.Tables[0], 1);
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集列数
+ ///
+ private bool AddDatasetToSQL2(DataTable pds, int Cols)
+ {
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ }
+ string result = string.Empty;
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_ConExperienceSummary
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ //var users = from x in Funs.DB.Project_ProjectUser
+ // join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ // where x.ProjectId == this.CurrUser.LoginProjectId
+ // select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (!string.IsNullOrEmpty(row0))
+ {
+ Model.QualityPlanning_ConExperienceSummary oldViewInfo = new Model.QualityPlanning_ConExperienceSummary();
+ oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileName == pds.Rows[i][0].ToString().Trim());
+ if (oldViewInfo == null)
+ {
+ Model.QualityPlanning_ConExperienceSummary newData = new Model.QualityPlanning_ConExperienceSummary();
+ newData.ProjectId = this.CurrUser.LoginProjectId;
+ //newData.FileCode = pds.Rows[i][0].ToString().Trim();
+ newData.FileName = pds.Rows[i][0].ToString().Trim();
+ //if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ //{
+ // newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ //}
+ //newData.Auditor = pds.Rows[i][3].ToString().Trim();
+ //newData.Approver = pds.Rows[i][4].ToString().Trim();
+ //newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ newData.CompileMan = this.CurrUser.UserId;
+ newData.CompileDate = DateTime.Now;
+ newData.ConExperienceSummaryId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
+ BLL.ConExperienceSummaryService.AddConExperienceSummary(newData);
+ }
+ else
+ {
+ //oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
+ oldViewInfo.FileName = pds.Rows[i][0].ToString().Trim();
+ oldViewInfo.CompileMan = this.CurrUser.UserId;
+ oldViewInfo.CompileDate = DateTime.Now;
+ //if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ //{
+ // oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ //}
+ //oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
+ //oldViewInfo.Approver = pds.Rows[i][4].ToString().Trim();
+ //oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ BLL.ConExperienceSummaryService.UpdateExperienceSummary(oldViewInfo);
+ }
+ }
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 下载模板
+ ///
+ /// 下载模板按钮
+ ///
+ ///
+ ///
+ 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.ConExperienceSummaryTemUrl;
+ string filePath = Const.ConExperienceSummaryTemUrl;
+ 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();
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.designer.cs
new file mode 100644
index 00000000..c43fe11a
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryDataIn.aspx.designer.cs
@@ -0,0 +1,123 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ConExperienceSummaryDataIn {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// hdFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdFileName;
+
+ ///
+ /// btnAudit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAudit;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDownLoad;
+
+ ///
+ /// hdCheckResult 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdCheckResult;
+
+ ///
+ /// fuAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fuAttachUrl;
+
+ ///
+ /// gvErrorInfo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvErrorInfo;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx
new file mode 100644
index 00000000..c1953b85
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx
@@ -0,0 +1,65 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummaryEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummaryEdit" %>
+
+
+
+
+
+
+ 编辑类似项目施工经验总结清单
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.cs
new file mode 100644
index 00000000..c2faa98b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.cs
@@ -0,0 +1,152 @@
+using BLL;
+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.QualityPlanning
+{
+ public partial class ConExperienceSummaryEdit : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 主键
+ ///
+ public string ConExperienceSummaryId
+ {
+ get
+ {
+ return (string)ViewState["ConExperienceSummaryId"];
+ }
+ set
+ {
+ ViewState["ConExperienceSummaryId"] = value;
+ }
+ }
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ //BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
+
+ this.ConExperienceSummaryId = Request.Params["id"];
+ Model.QualityPlanning_ConExperienceSummary con = BLL.ConExperienceSummaryService.GetConExperienceSummaryById(this.ConExperienceSummaryId);
+ if (con != null)
+ {
+ this.ConExperienceSummaryId = con.ConExperienceSummaryId;
+ this.hdAttachUrl.Text = this.ConExperienceSummaryId;
+ //this.txtFileCode.Text = projectQualityPlan.FileCode;
+ this.txtFileName.Text = con.FileName;
+ //if (!string.IsNullOrEmpty(projectQualityPlan.CompileMan))
+ //{
+ // this.drpCompileMan.SelectedValue = projectQualityPlan.CompileMan;
+ //}
+ //this.txtAuditor.Text = projectQualityPlan.Auditor;
+ //this.txtApprover.Text = projectQualityPlan.Approver;
+ //this.txtApprovalDate.Text = projectQualityPlan.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", projectQualityPlan.ApprovalDate) : "";
+ }
+ else
+ {
+ //this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
+ //this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+ #region 保存
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Model.QualityPlanning_ConExperienceSummary newData = new Model.QualityPlanning_ConExperienceSummary();
+ newData.ProjectId = this.CurrUser.LoginProjectId;
+ //projectQualityPlan.FileCode = this.txtFileCode.Text.Trim();
+ newData.FileName = this.txtFileName.Text.Trim();
+ //if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
+ //{
+ // projectQualityPlan.CompileMan = this.drpCompileMan.SelectedValue;
+ //}
+ newData.CompileMan = this.CurrUser.UserId;
+ newData.CompileDate = DateTime.Now;
+ //projectQualityPlan.Auditor = this.txtAuditor.Text.Trim();
+ //projectQualityPlan.Approver = this.txtApprover.Text.Trim();
+ //projectQualityPlan.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
+ if (string.IsNullOrEmpty(this.ConExperienceSummaryId))
+ {
+ if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
+ {
+ newData.ConExperienceSummaryId = this.hdAttachUrl.Text;
+ }
+ else
+ {
+ newData.ConExperienceSummaryId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
+ this.hdAttachUrl.Text = newData.ConExperienceSummaryId;
+ }
+ BLL.ConExperienceSummaryService.AddConExperienceSummary(newData);
+ }
+ else
+ {
+ newData.ConExperienceSummaryId = this.ConExperienceSummaryId;
+ BLL.ConExperienceSummaryService.UpdateExperienceSummary(newData);
+ }
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ #endregion
+
+ #region 附件上传
+ ///
+ /// 附件上传
+ ///
+ ///
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
+ {
+ this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
+ }
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/ConExperienceSummary&menuId={1}", this.hdAttachUrl.Text, BLL.Const.ConExperienceSummaryMenuId)));
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == "0")
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ConExperienceSummaryMenuId);
+ if (buttonList.Count > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.designer.cs
new file mode 100644
index 00000000..968318c1
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ConExperienceSummaryEdit.aspx.designer.cs
@@ -0,0 +1,114 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ConExperienceSummaryEdit {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label Label1;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx
new file mode 100644
index 00000000..dc96cb52
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx
@@ -0,0 +1,207 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Organizational.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.Organizational" %>
+
+
+
+
+
+
+ 质量管理组织机构
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.cs
new file mode 100644
index 00000000..104bf0e9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.cs
@@ -0,0 +1,510 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class Organizational : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ string projectId = this.CurrUser.LoginProjectId;
+ string unitId = this.CurrUser.UnitId;
+
+ this.lblProjectName.Text = "项目名称:" + BLL.ProjectService.GetProjectNameByProjectId(projectId);
+
+
+
+ var unit = (from x in Funs.DB.Project_ProjectUnit
+ join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
+ where x.ProjectId == projectId
+ && x.UnitType == BLL.Const.ProjectUnitType_2
+ && x.UnitId == unitId
+ select y).Count();
+ if (unit>0)
+ {
+ string projectManagerName = string.Empty;
+ var projectManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "项目经理");
+ if (projectManager != null)
+ {
+ foreach (var item in projectManager)
+ {
+ projectManagerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(projectManagerName))
+ {
+ this.Label1.Text = "项目经理:" + projectManagerName.Substring(0, projectManagerName.LastIndexOf(','));
+ }
+ }
+
+ string sjName = string.Empty;
+ var sj = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "设计经理");
+ if (sj != null)
+ {
+ foreach (var item in sj)
+ {
+ sjName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(sjName))
+ {
+ this.Label2.Text = "设计经理:" + sjName.Substring(0, sjName.LastIndexOf(','));
+ }
+ }
+
+ string cgName = string.Empty;
+ var cg = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "采购经理");
+ if (cg != null)
+ {
+ foreach (var item in cg)
+ {
+ cgName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(cgName))
+ {
+ this.Label3.Text = "采购经理:" + cgName.Substring(0, cgName.LastIndexOf(','));
+ }
+ }
+
+ string name4 = string.Empty;
+ var con = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "施工经理");
+ if (con != null)
+ {
+ foreach (var item in con)
+ {
+ name4 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name4))
+ {
+ this.Label4.Text = "施工经理:" + name4.Substring(0, name4.LastIndexOf(','));
+ }
+ }
+
+ string name5 = string.Empty;
+ var qa = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "质量经理");
+ if (qa != null)
+ {
+ foreach (var item in qa)
+ {
+ name5 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name5))
+ {
+ this.Label5.Text = "质量经理:" + name5.Substring(0, name5.LastIndexOf(','));
+ }
+ }
+
+ string name6 = string.Empty;
+ var hseManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "HSE经理");
+ if (hseManager != null)
+ {
+ foreach (var item in hseManager)
+ {
+ name6 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name6))
+ {
+ this.Label6.Text = "HSE经理:" + name6.Substring(0, name6.LastIndexOf(','));
+ }
+ }
+
+ string name7 = string.Empty;
+ var carManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "开车经理");
+ if (carManager != null)
+ {
+ foreach (var item in carManager)
+ {
+ name7 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name7))
+ {
+ this.Label7.Text = "开车经理:" + name7.Substring(0, name7.LastIndexOf(','));
+ }
+ }
+
+ string warehousemanName = string.Empty;
+ var warehousemanLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "仓库管理员");
+ if (warehousemanLists != null)
+ {
+ foreach (var item in warehousemanLists)
+ {
+ warehousemanName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(warehousemanName))
+ {
+ warehousemanName = warehousemanName.Substring(0, warehousemanName.LastIndexOf(','));
+ }
+ }
+ this.Label8.Text = "仓库管理员:" + warehousemanName;
+
+ string docName = string.Empty;
+ var doc = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "文控工程师");
+ if (doc != null)
+ {
+ foreach (var item in doc)
+ {
+ docName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(docName))
+ {
+ docName = docName.Substring(0, docName.LastIndexOf(','));
+ }
+ }
+ this.Label9.Text = "文控工程师:" + docName;
+
+ string hseEngineerName = string.Empty;
+ var hseEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "HSE工程师");
+ if (hseEngineerLists != null)
+ {
+ foreach (var item in hseEngineerLists)
+ {
+ hseEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(hseEngineerName))
+ {
+ hseEngineerName = hseEngineerName.Substring(0, hseEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label10.Text = "HSE工程师:" + hseEngineerName;
+
+ string carEngineerName = string.Empty;
+ var carEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "开车工程师");
+ if (carEngineerLists != null)
+ {
+ foreach (var item in carEngineerLists)
+ {
+ carEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(carEngineerName))
+ {
+ carEngineerName = carEngineerName.Substring(0, carEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label11.Text = "开车工程师:" + carEngineerName;
+
+ string CVEngineerName = string.Empty;
+ var CVEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "土建工程师");
+ if (CVEngineerLists != null)
+ {
+ foreach (var item in CVEngineerLists)
+ {
+ CVEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(CVEngineerName))
+ {
+ CVEngineerName = CVEngineerName.Substring(0, CVEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label12.Text = "土建工程师:" + CVEngineerName;
+
+ string FEEngineerName = string.Empty;
+ var FEEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "设备工程师");
+ if (FEEngineerLists != null)
+ {
+ foreach (var item in FEEngineerLists)
+ {
+ FEEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(FEEngineerName))
+ {
+ FEEngineerName = FEEngineerName.Substring(0, FEEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label13.Text = "设备工程师:" + FEEngineerName;
+
+ string PDEngineerName = string.Empty;
+ var PDEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "管道工程师");
+ if (PDEngineerLists != null)
+ {
+ foreach (var item in PDEngineerLists)
+ {
+ PDEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(PDEngineerName))
+ {
+ PDEngineerName = PDEngineerName.Substring(0, PDEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label14.Text = "管道工程师:" + PDEngineerName;
+
+ string EHEngineerName = string.Empty;
+ var EHEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "电气工程师");
+ if (EHEngineerLists != null)
+ {
+ foreach (var item in EHEngineerLists)
+ {
+ EHEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(EHEngineerName))
+ {
+ EHEngineerName = EHEngineerName.Substring(0, EHEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label15.Text = "电气工程师:" + EHEngineerName;
+
+ string EAEngineerName = string.Empty;
+ var EAEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "仪表工程师");
+ if (EAEngineerLists != null)
+ {
+ foreach (var item in EAEngineerLists)
+ {
+ EAEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(EAEngineerName))
+ {
+ EAEngineerName = EAEngineerName.Substring(0, EAEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label16.Text = "仪表工程师:" + EAEngineerName;
+ }
+ else
+ {
+ string projectManagerName = string.Empty;
+ var projectManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "项目经理");
+ if (projectManager != null)
+ {
+ foreach (var item in projectManager)
+ {
+ projectManagerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(projectManagerName))
+ {
+ this.Label1.Text = "项目经理:" + projectManagerName.Substring(0, projectManagerName.LastIndexOf(','));
+ }
+ }
+
+ string sjName = string.Empty;
+ var sj = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "设计经理");
+ if (sj != null)
+ {
+ foreach (var item in sj)
+ {
+ sjName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(sjName))
+ {
+ this.Label2.Text = "设计经理:" + sjName.Substring(0, sjName.LastIndexOf(','));
+ }
+ }
+
+ string cgName = string.Empty;
+ var cg = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "采购经理");
+ if (cg != null)
+ {
+ foreach (var item in cg)
+ {
+ cgName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(cgName))
+ {
+ this.Label3.Text = "采购经理:" + cgName.Substring(0, cgName.LastIndexOf(','));
+ }
+ }
+
+ string name4 = string.Empty;
+ var con = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "施工经理");
+ if (con != null)
+ {
+ foreach (var item in con)
+ {
+ name4 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name4))
+ {
+ this.Label4.Text = "施工经理:" + name4.Substring(0, name4.LastIndexOf(','));
+ }
+ }
+
+ string name5 = string.Empty;
+ var qa = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "质量经理");
+ if (qa != null)
+ {
+ foreach (var item in qa)
+ {
+ name5 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name5))
+ {
+ this.Label5.Text = "质量经理:" + name5.Substring(0, name5.LastIndexOf(','));
+ }
+ }
+
+ string name6 = string.Empty;
+ var hseManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "HSE经理");
+ if (hseManager != null)
+ {
+ foreach (var item in hseManager)
+ {
+ name6 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name6))
+ {
+ this.Label6.Text = "HSE经理:" + name6.Substring(0, name6.LastIndexOf(','));
+ }
+ }
+
+ string name7 = string.Empty;
+ var carManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "开车经理");
+ if (carManager != null)
+ {
+ foreach (var item in carManager)
+ {
+ name7 += item + ",";
+ }
+ if (!string.IsNullOrEmpty(name7))
+ {
+ this.Label7.Text = "开车经理:" + name7.Substring(0, name7.LastIndexOf(','));
+ }
+ }
+
+ string warehousemanName = string.Empty;
+ var warehousemanLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "仓库管理员");
+ if (warehousemanLists != null)
+ {
+ foreach (var item in warehousemanLists)
+ {
+ warehousemanName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(warehousemanName))
+ {
+ warehousemanName = warehousemanName.Substring(0, warehousemanName.LastIndexOf(','));
+ }
+ }
+ this.Label8.Text = "仓库管理员:" + warehousemanName;
+
+ string docName = string.Empty;
+ var doc = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "文控工程师");
+ if (doc != null)
+ {
+ foreach (var item in doc)
+ {
+ docName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(docName))
+ {
+ docName = docName.Substring(0, docName.LastIndexOf(','));
+ }
+ }
+ this.Label9.Text = "文控工程师:" + docName;
+
+ string hseEngineerName = string.Empty;
+ var hseEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "HSE工程师");
+ if (hseEngineerLists != null)
+ {
+ foreach (var item in hseEngineerLists)
+ {
+ hseEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(hseEngineerName))
+ {
+ hseEngineerName = hseEngineerName.Substring(0, hseEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label10.Text = "HSE工程师:" + hseEngineerName;
+
+ string carEngineerName = string.Empty;
+ var carEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "开车工程师");
+ if (carEngineerLists != null)
+ {
+ foreach (var item in carEngineerLists)
+ {
+ carEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(carEngineerName))
+ {
+ carEngineerName = carEngineerName.Substring(0, carEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label11.Text = "开车工程师:" + carEngineerName;
+
+ string CVEngineerName = string.Empty;
+ var CVEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "土建工程师");
+ if (CVEngineerLists != null)
+ {
+ foreach (var item in CVEngineerLists)
+ {
+ CVEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(CVEngineerName))
+ {
+ CVEngineerName = CVEngineerName.Substring(0, CVEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label12.Text = "土建工程师:" + CVEngineerName;
+
+ string FEEngineerName = string.Empty;
+ var FEEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "设备工程师");
+ if (FEEngineerLists != null)
+ {
+ foreach (var item in FEEngineerLists)
+ {
+ FEEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(FEEngineerName))
+ {
+ FEEngineerName = FEEngineerName.Substring(0, FEEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label13.Text = "设备工程师:" + FEEngineerName;
+
+ string PDEngineerName = string.Empty;
+ var PDEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "管道工程师");
+ if (PDEngineerLists != null)
+ {
+ foreach (var item in PDEngineerLists)
+ {
+ PDEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(PDEngineerName))
+ {
+ PDEngineerName = PDEngineerName.Substring(0, PDEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label14.Text = "管道工程师:" + PDEngineerName;
+
+ string EHEngineerName = string.Empty;
+ var EHEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "电气工程师");
+ if (EHEngineerLists != null)
+ {
+ foreach (var item in EHEngineerLists)
+ {
+ EHEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(EHEngineerName))
+ {
+ EHEngineerName = EHEngineerName.Substring(0, EHEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label15.Text = "电气工程师:" + EHEngineerName;
+
+ string EAEngineerName = string.Empty;
+ var EAEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "仪表工程师");
+ if (EAEngineerLists != null)
+ {
+ foreach (var item in EAEngineerLists)
+ {
+ EAEngineerName += item + ",";
+ }
+ if (!string.IsNullOrEmpty(EAEngineerName))
+ {
+ EAEngineerName = EAEngineerName.Substring(0, EAEngineerName.LastIndexOf(','));
+ }
+ }
+ this.Label16.Text = "仪表工程师:" + EAEngineerName;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.designer.cs
new file mode 100644
index 00000000..41fd0ac4
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/Organizational.aspx.designer.cs
@@ -0,0 +1,177 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class Organizational {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// lblProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblProjectName;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label1;
+
+ ///
+ /// Label2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label2;
+
+ ///
+ /// Label3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label3;
+
+ ///
+ /// Label4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label4;
+
+ ///
+ /// Label5 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label5;
+
+ ///
+ /// Label6 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label6;
+
+ ///
+ /// Label7 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label7;
+
+ ///
+ /// Label8 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label8;
+
+ ///
+ /// Label9 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label9;
+
+ ///
+ /// Label10 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label10;
+
+ ///
+ /// Label11 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label11;
+
+ ///
+ /// Label12 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label12;
+
+ ///
+ /// Label13 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label13;
+
+ ///
+ /// Label14 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label14;
+
+ ///
+ /// Label15 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label15;
+
+ ///
+ /// Label16 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label16;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx
new file mode 100644
index 00000000..0b0b20b7
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx
@@ -0,0 +1,119 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlan.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlan" %>
+
+
+
+
+
+
+ 项目质量计划
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.cs
new file mode 100644
index 00000000..428f7185
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.cs
@@ -0,0 +1,354 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class ProjectQualityPlan : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"SELECT p.ProjectQualityPlanId,
+ p.ProjectId,
+ p.FileCode,
+ p.FileName,
+ p.CompileMan,
+ p.CompileDate,
+ p.Auditor,
+ p.Approver,
+ p.ApprovalDate,
+ u.UserName AS CompileManName"
+ + @" FROM QualityPlanning_ProjectQualityPlan AS p"
+ + @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ + @" WHERE p.ProjectId=@projectId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
+ if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ {
+ strSql += " AND p.FileCode LIKE @fileCode";
+ listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
+ }
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ strSql += " AND p.FileName LIKE @fileName";
+ listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
+ }
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+ #endregion
+
+ #region 分页、排序
+ ///
+ /// 分页下拉
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 分页索引事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 关闭弹出窗口
+ ///
+ /// 关闭弹出窗口
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 增加
+ ///
+ /// 新增按钮事件
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectQualityPlanEdit.aspx", "编辑 - ")));
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 右键编辑
+ ///
+ ///
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectQualityPlanEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuModify_Click(sender, e);
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除
+ ///
+ ///
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var plan = BLL.ProjectQualityPlanService.GetProjectQualityPlanById(rowID);
+ if (plan != null)
+ {
+ BLL.ProjectQualityPlanService.DeleteProjectQualityPlanById(rowID);
+ }
+ }
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入按钮
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ProjectQualityPlanDataIn.aspx", "导入 - ")));
+ }
+ #endregion
+
+ #region 导出按钮
+ /// 导出按钮
+ ///
+ ///
+ ///
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ string rootPath = Server.MapPath("~/");
+ string initTemplatePath = Const.ProjectQualityPlanTemUrl;
+ string uploadfilepath = string.Empty;
+ string newUrl = string.Empty;
+ uploadfilepath = rootPath + initTemplatePath;
+
+ var lists = (from x in Funs.DB.QualityPlanning_ProjectQualityPlan
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x);
+ if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ {
+ lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
+ }
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
+ }
+ lists = lists.OrderByDescending(x => x.ApprovalDate);
+ if (lists != null)
+ {
+ string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
+ newUrl = uploadfilepath.Replace("项目质量计划导入模板", "项目质量计划(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")");
+ File.Copy(uploadfilepath, newUrl);
+ // 第一步:读取文件流
+ NPOI.SS.UserModel.IWorkbook workbook;
+ using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
+ {
+ //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
+ workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
+ }
+ // 创建单元格样式
+ NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
+ cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
+ cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
+ cellStyle.WrapText = true;//自动换行
+ var font = workbook.CreateFont();
+ font.FontHeightInPoints = 11;
+ cellStyle.SetFont(font);
+
+ // 第二步:创建新数据行
+ NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
+ NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
+ NPOI.SS.UserModel.ICell cell;
+ int i = 2;
+ foreach (var item in lists)
+ {
+ // 第二步:创建新数据行
+ row = sheet.CreateRow(i);
+ // 添加数据
+ cell = row.CreateCell(0);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.FileCode);//文件编号
+
+ cell = row.CreateCell(1);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.FileName);//文件名称
+
+ cell = row.CreateCell(2);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
+
+ cell = row.CreateCell(3);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.Auditor);//审核人
+
+ cell = row.CreateCell(4);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.Approver);//批准人
+
+ cell = row.CreateCell(5);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
+
+ i++;
+ }
+ // 第三步:写入文件流
+ using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
+ {
+ workbook.Write(stream);
+ workbook.Close();
+ }
+ string fileName = Path.GetFileName(newUrl);
+ FileInfo info = new FileInfo(newUrl);
+ long fileSize = info.Length;
+ Response.Clear();
+ Response.ContentType = "application/x-zip-compressed";
+ Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ Response.AddHeader("Content-Length", fileSize.ToString());
+ Response.TransmitFile(newUrl, 0, fileSize);
+ Response.Flush();
+ Response.Close();
+ File.Delete(newUrl);
+ }
+ else
+ {
+ Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
+ }
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectQualityPlanMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuModify.Hidden = false;
+ this.Grid1.EnableRowDoubleClickEvent = true;
+ }
+ else
+ {
+ this.Grid1.EnableRowDoubleClickEvent = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDel.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnImport.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.designer.cs
new file mode 100644
index 00000000..f0219155
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlan.aspx.designer.cs
@@ -0,0 +1,204 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ProjectQualityPlan {
+
+ ///
+ /// 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;
+
+ ///
+ /// ToolSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar ToolSearch;
+
+ ///
+ /// txtFileCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileCode;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+
+ ///
+ /// lbtnFileUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx
new file mode 100644
index 00000000..f3101c3c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx
@@ -0,0 +1,68 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlanDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlanDataIn" %>
+
+
+
+
+
+
+ 导入项目质量计划
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.cs
new file mode 100644
index 00000000..f26f8f46
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.cs
@@ -0,0 +1,435 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.OleDb;
+using System.IO;
+using System.Linq;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class ProjectQualityPlanDataIn : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 上传预设的虚拟路径
+ ///
+ private string initPath = Const.ExcelUrl;
+
+
+ ///
+ /// 错误集合
+ ///
+ public static List errorInfos = new List();
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.hdCheckResult.Text = string.Empty;
+ this.hdFileName.Text = string.Empty;
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ }
+ }
+ #endregion
+
+ #region 审核
+ ///
+ /// 审核
+ ///
+ ///
+ ///
+ protected void btnAudit_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (this.fuAttachUrl.HasFile == false)
+ {
+ ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
+ if (IsXls != ".xls")
+ {
+ ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ string rootPath = Server.MapPath("~/");
+ string initFullPath = rootPath + initPath;
+ if (!Directory.Exists(initFullPath))
+ {
+ Directory.CreateDirectory(initFullPath);
+ }
+
+ this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
+ string filePath = initFullPath + this.hdFileName.Text;
+ this.fuAttachUrl.PostedFile.SaveAs(filePath);
+ ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
+ }
+ catch (Exception ex)
+ {
+ ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region 读Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL(ds.Tables[0], 6);
+ hdCheckResult.Text = "1";
+ }
+ catch (Exception exc)
+ {
+ Response.Write(exc);
+ //return null;
+ // return dt;
+ }
+ finally
+ {
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集行数
+ ///
+ private bool AddDatasetToSQL(DataTable pds, int Cols)
+ {
+ string result = string.Empty;
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ return false;
+ }
+
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_ProjectQualityPlan
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ var users = from x in Funs.DB.Project_ProjectUser
+ join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ Model.QualityPlanning_ProjectQualityPlan oldViewInfo = new Model.QualityPlanning_ProjectQualityPlan();
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (string.IsNullOrEmpty(row0))
+ {
+ result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
+ }
+ string row1 = pds.Rows[i][1].ToString().Trim();
+ if (string.IsNullOrEmpty(row1))
+ {
+ result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
+ }
+ string row2 = pds.Rows[i][2].ToString().Trim();
+ if (!string.IsNullOrEmpty(row2))
+ {
+ var u = users.Where(x => x.UserName == row2).FirstOrDefault();
+ if (u==null)
+ {
+ result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
+ }
+ }
+
+ string row5 = pds.Rows[i][5].ToString().Trim();
+ if (!string.IsNullOrEmpty(row5))
+ {
+ try
+ {
+ DateTime d = Convert.ToDateTime(row5);
+ }
+ catch (Exception)
+ {
+ result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
+ }
+ }
+ }
+ if (!string.IsNullOrEmpty(result))
+ {
+ result = result.Substring(0, result.LastIndexOf("|"));
+ }
+ errorInfos.Clear();
+ if (!string.IsNullOrEmpty(result))
+ {
+ string results = result;
+ List errorInfoList = results.Split('|').ToList();
+ foreach (var item in errorInfoList)
+ {
+ string[] errors = item.Split(',');
+ Model.ErrorInfo errorInfo = new Model.ErrorInfo();
+ errorInfo.Row = errors[0];
+ errorInfo.Column = errors[1];
+ errorInfo.Reason = errors[2];
+ errorInfos.Add(errorInfo);
+ }
+ if (errorInfos.Count > 0)
+ {
+ this.gvErrorInfo.DataSource = errorInfos;
+ this.gvErrorInfo.DataBind();
+ }
+ }
+ else
+ {
+ ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(hdCheckResult.Text))
+ {
+ if (errorInfos.Count <= 0)
+ {
+ string rootPath = Server.MapPath("~/");
+ ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
+ hdCheckResult.Text = string.Empty;
+ ShowNotify("导入成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ else
+ {
+ ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
+ }
+ }
+ else
+ {
+ ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData2(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL2(ds.Tables[0], 6);
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集列数
+ ///
+ private bool AddDatasetToSQL2(DataTable pds, int Cols)
+ {
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ }
+ string result = string.Empty;
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_ProjectQualityPlan
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ var users = from x in Funs.DB.Project_ProjectUser
+ join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (!string.IsNullOrEmpty(row0))
+ {
+ Model.QualityPlanning_ProjectQualityPlan oldViewInfo = new Model.QualityPlanning_ProjectQualityPlan();
+ oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileCode == pds.Rows[i][0].ToString().Trim());
+ if (oldViewInfo == null)
+ {
+ Model.QualityPlanning_ProjectQualityPlan newData = new Model.QualityPlanning_ProjectQualityPlan();
+ newData.ProjectId = this.CurrUser.LoginProjectId;
+ newData.FileCode = pds.Rows[i][0].ToString().Trim();
+ newData.FileName = pds.Rows[i][1].ToString().Trim();
+ if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ {
+ newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ }
+ newData.Auditor = pds.Rows[i][3].ToString().Trim();
+ newData.Approver= pds.Rows[i][4].ToString().Trim();
+ newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ newData.CompileDate = DateTime.Now;
+ newData.ProjectQualityPlanId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
+ BLL.ProjectQualityPlanService.AddProjectQualityPlan(newData);
+ }
+ else
+ {
+ oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
+ oldViewInfo.FileName = pds.Rows[i][1].ToString().Trim();
+ if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ {
+ oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ }
+ oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
+ oldViewInfo.Approver= pds.Rows[i][4].ToString().Trim();
+ oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ BLL.ProjectQualityPlanService.UpdateProjectQualityPlan(oldViewInfo);
+ }
+ }
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 下载模板
+ ///
+ /// 下载模板按钮
+ ///
+ ///
+ ///
+ 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.ProjectQualityPlanTemUrl;
+ string filePath = Const.ProjectQualityPlanTemUrl;
+ 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();
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.designer.cs
new file mode 100644
index 00000000..9165695b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanDataIn.aspx.designer.cs
@@ -0,0 +1,123 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ProjectQualityPlanDataIn {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// hdFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdFileName;
+
+ ///
+ /// btnAudit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAudit;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDownLoad;
+
+ ///
+ /// hdCheckResult 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdCheckResult;
+
+ ///
+ /// fuAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fuAttachUrl;
+
+ ///
+ /// gvErrorInfo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvErrorInfo;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx
new file mode 100644
index 00000000..78a2fe4c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx
@@ -0,0 +1,65 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlanEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlanEdit" %>
+
+
+
+
+
+
+ 编辑项目质量计划
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.cs
new file mode 100644
index 00000000..eb9fc4ea
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.cs
@@ -0,0 +1,151 @@
+using BLL;
+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.QualityPlanning
+{
+ public partial class ProjectQualityPlanEdit : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 主键
+ ///
+ public string ProjectQualityPlanId
+ {
+ get
+ {
+ return (string)ViewState["ProjectQualityPlanId"];
+ }
+ set
+ {
+ ViewState["ProjectQualityPlanId"] = value;
+ }
+ }
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
+
+ this.ProjectQualityPlanId = Request.Params["id"];
+ Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = BLL.ProjectQualityPlanService.GetProjectQualityPlanById(this.ProjectQualityPlanId);
+ if (projectQualityPlan != null)
+ {
+ this.ProjectQualityPlanId = projectQualityPlan.ProjectQualityPlanId;
+ this.hdAttachUrl.Text = this.ProjectQualityPlanId;
+ this.txtFileCode.Text = projectQualityPlan.FileCode;
+ this.txtFileName.Text = projectQualityPlan.FileName;
+ if (!string.IsNullOrEmpty(projectQualityPlan.CompileMan))
+ {
+ this.drpCompileMan.SelectedValue = projectQualityPlan.CompileMan;
+ }
+ this.txtAuditor.Text = projectQualityPlan.Auditor;
+ this.txtApprover.Text = projectQualityPlan.Approver;
+ this.txtApprovalDate.Text = projectQualityPlan.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", projectQualityPlan.ApprovalDate) : "";
+ }
+ else
+ {
+ this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
+ this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+ #region 保存
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = new Model.QualityPlanning_ProjectQualityPlan();
+ projectQualityPlan.ProjectId = this.CurrUser.LoginProjectId;
+ projectQualityPlan.FileCode = this.txtFileCode.Text.Trim();
+ projectQualityPlan.FileName = this.txtFileName.Text.Trim();
+ if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
+ {
+ projectQualityPlan.CompileMan = this.drpCompileMan.SelectedValue;
+ }
+ projectQualityPlan.CompileDate = DateTime.Now;
+ projectQualityPlan.Auditor = this.txtAuditor.Text.Trim();
+ projectQualityPlan.Approver = this.txtApprover.Text.Trim();
+ projectQualityPlan.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
+ if (string.IsNullOrEmpty(this.ProjectQualityPlanId))
+ {
+ if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
+ {
+ projectQualityPlan.ProjectQualityPlanId = this.hdAttachUrl.Text;
+ }
+ else
+ {
+ projectQualityPlan.ProjectQualityPlanId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
+ this.hdAttachUrl.Text = projectQualityPlan.ProjectQualityPlanId;
+ }
+ BLL.ProjectQualityPlanService.AddProjectQualityPlan(projectQualityPlan);
+ }
+ else
+ {
+ projectQualityPlan.ProjectQualityPlanId = this.ProjectQualityPlanId;
+ BLL.ProjectQualityPlanService.UpdateProjectQualityPlan(projectQualityPlan);
+ }
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ #endregion
+
+ #region 附件上传
+ ///
+ /// 附件上传
+ ///
+ ///
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
+ {
+ this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
+ }
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/ProjectQualityPlan&menuId={1}", this.hdAttachUrl.Text, BLL.Const.ProjectQualityPlanMenuId)));
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == "0")
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectQualityPlanMenuId);
+ if (buttonList.Count > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.designer.cs
new file mode 100644
index 00000000..f37eda51
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/ProjectQualityPlanEdit.aspx.designer.cs
@@ -0,0 +1,159 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class ProjectQualityPlanEdit {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// txtFileCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileCode;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// drpCompileMan 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpCompileMan;
+
+ ///
+ /// txtAuditor 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtAuditor;
+
+ ///
+ /// txtApprover 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtApprover;
+
+ ///
+ /// txtApprovalDate 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtApprovalDate;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label Label1;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx
new file mode 100644
index 00000000..601945a8
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx
@@ -0,0 +1,119 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSys.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSys" %>
+
+
+
+
+
+
+ 质量管理制度
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.cs
new file mode 100644
index 00000000..55287e1e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.cs
@@ -0,0 +1,354 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class QualityManagementSys : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"SELECT p.QualityManagementSysId,
+ p.ProjectId,
+ p.FileCode,
+ p.FileName,
+ p.CompileMan,
+ p.CompileDate,
+ p.Auditor,
+ p.Approver,
+ p.ApprovalDate,
+ u.UserName AS CompileManName"
+ + @" FROM QualityPlanning_QualityManagementSys AS p"
+ + @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ + @" WHERE p.ProjectId=@projectId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
+ if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ {
+ strSql += " AND p.FileCode LIKE @fileCode";
+ listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
+ }
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ strSql += " AND p.FileName LIKE @fileName";
+ listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
+ }
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+ #endregion
+
+ #region 分页、排序
+ ///
+ /// 分页下拉
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 分页索引事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 关闭弹出窗口
+ ///
+ /// 关闭弹出窗口
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 增加
+ ///
+ /// 新增按钮事件
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityManagementSysEdit.aspx", "编辑 - ")));
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 右键编辑
+ ///
+ ///
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityManagementSysEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuModify_Click(sender, e);
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除
+ ///
+ ///
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var sys = BLL.QualityManagementSysService.GetQualityManagementSysById(rowID);
+ if (sys != null)
+ {
+ BLL.QualityManagementSysService.DeleteQualityManagementSys(rowID);
+ }
+ }
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入按钮
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("QualityManagementSysDataIn.aspx", "导入 - ")));
+ }
+ #endregion
+
+ #region 导出按钮
+ /// 导出按钮
+ ///
+ ///
+ ///
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ string rootPath = Server.MapPath("~/");
+ string initTemplatePath = Const.QualityManagementSysTemUrl;
+ string uploadfilepath = string.Empty;
+ string newUrl = string.Empty;
+ uploadfilepath = rootPath + initTemplatePath;
+
+ var lists = (from x in Funs.DB.QualityPlanning_QualityManagementSys
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x);
+ if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
+ {
+ lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
+ }
+ if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
+ {
+ lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
+ }
+ lists = lists.OrderByDescending(x => x.ApprovalDate);
+ if (lists != null)
+ {
+ string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
+ newUrl = uploadfilepath.Replace("质量管理制度导入模板", "质量管理制度(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")");
+ File.Copy(uploadfilepath, newUrl);
+ // 第一步:读取文件流
+ NPOI.SS.UserModel.IWorkbook workbook;
+ using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
+ {
+ //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
+ workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
+ }
+ // 创建单元格样式
+ NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
+ cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
+ cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
+ cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
+ cellStyle.WrapText = true;//自动换行
+ var font = workbook.CreateFont();
+ font.FontHeightInPoints = 11;
+ cellStyle.SetFont(font);
+
+ // 第二步:创建新数据行
+ NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
+ NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
+ NPOI.SS.UserModel.ICell cell;
+ int i = 2;
+ foreach (var item in lists)
+ {
+ // 第二步:创建新数据行
+ row = sheet.CreateRow(i);
+ // 添加数据
+ cell = row.CreateCell(0);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.FileCode);//文件编号
+
+ cell = row.CreateCell(1);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.FileName);//文件名称
+
+ cell = row.CreateCell(2);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
+
+ cell = row.CreateCell(3);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.Auditor);//审核人
+
+ cell = row.CreateCell(4);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.Approver);//批准人
+
+ cell = row.CreateCell(5);
+ cell.CellStyle = cellStyle;
+ cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
+
+ i++;
+ }
+ // 第三步:写入文件流
+ using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
+ {
+ workbook.Write(stream);
+ workbook.Close();
+ }
+ string fileName = Path.GetFileName(newUrl);
+ FileInfo info = new FileInfo(newUrl);
+ long fileSize = info.Length;
+ Response.Clear();
+ Response.ContentType = "application/x-zip-compressed";
+ Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ Response.AddHeader("Content-Length", fileSize.ToString());
+ Response.TransmitFile(newUrl, 0, fileSize);
+ Response.Flush();
+ Response.Close();
+ File.Delete(newUrl);
+ }
+ else
+ {
+ Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
+ }
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QualityManagementSysMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuModify.Hidden = false;
+ this.Grid1.EnableRowDoubleClickEvent = true;
+ }
+ else
+ {
+ this.Grid1.EnableRowDoubleClickEvent = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDel.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnImport.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.designer.cs
new file mode 100644
index 00000000..e2964986
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSys.aspx.designer.cs
@@ -0,0 +1,204 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class QualityManagementSys {
+
+ ///
+ /// 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;
+
+ ///
+ /// ToolSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar ToolSearch;
+
+ ///
+ /// txtFileCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileCode;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+
+ ///
+ /// lbtnFileUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx
new file mode 100644
index 00000000..40104aea
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx
@@ -0,0 +1,68 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSysDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSysDataIn" %>
+
+
+
+
+
+
+ 导入质量管理制度
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.cs
new file mode 100644
index 00000000..45f2a6a1
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.cs
@@ -0,0 +1,435 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.OleDb;
+using System.IO;
+using System.Linq;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.CQMS.QualityPlanning
+{
+ public partial class QualityManagementSysDataIn : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 上传预设的虚拟路径
+ ///
+ private string initPath = Const.ExcelUrl;
+
+
+ ///
+ /// 错误集合
+ ///
+ public static List errorInfos = new List();
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.hdCheckResult.Text = string.Empty;
+ this.hdFileName.Text = string.Empty;
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ }
+ }
+ #endregion
+
+ #region 审核
+ ///
+ /// 审核
+ ///
+ ///
+ ///
+ protected void btnAudit_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (this.fuAttachUrl.HasFile == false)
+ {
+ ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
+ if (IsXls != ".xls")
+ {
+ ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (errorInfos != null)
+ {
+ errorInfos.Clear();
+ }
+ string rootPath = Server.MapPath("~/");
+ string initFullPath = rootPath + initPath;
+ if (!Directory.Exists(initFullPath))
+ {
+ Directory.CreateDirectory(initFullPath);
+ }
+
+ this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
+ string filePath = initFullPath + this.hdFileName.Text;
+ this.fuAttachUrl.PostedFile.SaveAs(filePath);
+ ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
+ }
+ catch (Exception ex)
+ {
+ ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region 读Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL(ds.Tables[0], 6);
+ hdCheckResult.Text = "1";
+ }
+ catch (Exception exc)
+ {
+ Response.Write(exc);
+ //return null;
+ // return dt;
+ }
+ finally
+ {
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集行数
+ ///
+ private bool AddDatasetToSQL(DataTable pds, int Cols)
+ {
+ string result = string.Empty;
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ return false;
+ }
+
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_QualityManagementSys
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ var users = from x in Funs.DB.Project_ProjectUser
+ join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ Model.QualityPlanning_QualityManagementSys oldViewInfo = new Model.QualityPlanning_QualityManagementSys();
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (string.IsNullOrEmpty(row0))
+ {
+ result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
+ }
+ string row1 = pds.Rows[i][1].ToString().Trim();
+ if (string.IsNullOrEmpty(row1))
+ {
+ result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
+ }
+ string row2 = pds.Rows[i][2].ToString().Trim();
+ if (!string.IsNullOrEmpty(row2))
+ {
+ var u = users.Where(x => x.UserName == row2).FirstOrDefault();
+ if (u == null)
+ {
+ result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
+ }
+ }
+
+ string row5 = pds.Rows[i][5].ToString().Trim();
+ if (!string.IsNullOrEmpty(row5))
+ {
+ try
+ {
+ DateTime d = Convert.ToDateTime(row5);
+ }
+ catch (Exception)
+ {
+ result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
+ }
+ }
+ }
+ if (!string.IsNullOrEmpty(result))
+ {
+ result = result.Substring(0, result.LastIndexOf("|"));
+ }
+ errorInfos.Clear();
+ if (!string.IsNullOrEmpty(result))
+ {
+ string results = result;
+ List errorInfoList = results.Split('|').ToList();
+ foreach (var item in errorInfoList)
+ {
+ string[] errors = item.Split(',');
+ Model.ErrorInfo errorInfo = new Model.ErrorInfo();
+ errorInfo.Row = errors[0];
+ errorInfo.Column = errors[1];
+ errorInfo.Reason = errors[2];
+ errorInfos.Add(errorInfo);
+ }
+ if (errorInfos.Count > 0)
+ {
+ this.gvErrorInfo.DataSource = errorInfos;
+ this.gvErrorInfo.DataBind();
+ }
+ }
+ else
+ {
+ ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 导入
+ ///
+ /// 导入
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(hdCheckResult.Text))
+ {
+ if (errorInfos.Count <= 0)
+ {
+ string rootPath = Server.MapPath("~/");
+ ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
+ hdCheckResult.Text = string.Empty;
+ ShowNotify("导入成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ else
+ {
+ ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
+ }
+ }
+ else
+ {
+ ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
+ }
+ }
+
+ #region Excel提取数据
+ ///
+ /// 从Excel提取数据--》Dataset
+ ///
+ /// Excel文件路径名
+ private void ImportXlsToData2(string fileName)
+ {
+ try
+ {
+ string oleDBConnString = String.Empty;
+ oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
+ oleDBConnString += "Data Source=";
+ oleDBConnString += fileName;
+ oleDBConnString += ";Extended Properties=Excel 8.0;";
+ OleDbConnection oleDBConn = null;
+ OleDbDataAdapter oleAdMaster = null;
+ DataTable m_tableName = new DataTable();
+ DataSet ds = new DataSet();
+
+ oleDBConn = new OleDbConnection(oleDBConnString);
+ oleDBConn.Open();
+ m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
+
+ if (m_tableName != null && m_tableName.Rows.Count > 0)
+ {
+
+ m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
+
+ }
+ string sqlMaster;
+ sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
+ oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
+ oleAdMaster.Fill(ds, "m_tableName");
+ oleAdMaster.Dispose();
+ oleDBConn.Close();
+ oleDBConn.Dispose();
+
+ AddDatasetToSQL2(ds.Tables[0], 6);
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+ #endregion
+
+ #region 将Dataset的数据导入数据库
+ ///
+ /// 将Dataset的数据导入数据库
+ ///
+ /// 数据集
+ /// 数据集列数
+ ///
+ private bool AddDatasetToSQL2(DataTable pds, int Cols)
+ {
+ int ic, ir;
+ ic = pds.Columns.Count;
+ if (ic < Cols)
+ {
+ ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
+ }
+ string result = string.Empty;
+ ir = pds.Rows.Count;
+ if (pds != null && ir > 0)
+ {
+ var oldViewInfos = from x in Funs.DB.QualityPlanning_QualityManagementSys
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select x;
+
+ var users = from x in Funs.DB.Project_ProjectUser
+ join y in Funs.DB.Sys_User on x.UserId equals y.UserId
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ select y;
+
+ for (int i = 1; i < ir; i++)
+ {
+ string row0 = pds.Rows[i][0].ToString().Trim();
+ if (!string.IsNullOrEmpty(row0))
+ {
+ Model.QualityPlanning_QualityManagementSys oldViewInfo = new Model.QualityPlanning_QualityManagementSys();
+ oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileCode == pds.Rows[i][0].ToString().Trim());
+ if (oldViewInfo == null)
+ {
+ Model.QualityPlanning_QualityManagementSys newData = new Model.QualityPlanning_QualityManagementSys();
+ newData.ProjectId = this.CurrUser.LoginProjectId;
+ newData.FileCode = pds.Rows[i][0].ToString().Trim();
+ newData.FileName = pds.Rows[i][1].ToString().Trim();
+ if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ {
+ newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ }
+ newData.Auditor = pds.Rows[i][3].ToString().Trim();
+ newData.Approver = pds.Rows[i][4].ToString().Trim();
+ newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ newData.CompileDate = DateTime.Now;
+ newData.QualityManagementSysId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
+ BLL.QualityManagementSysService.AddQualityManagementSys(newData);
+ }
+ else
+ {
+ oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
+ oldViewInfo.FileName = pds.Rows[i][1].ToString().Trim();
+ if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
+ {
+ oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
+ }
+ oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
+ oldViewInfo.Approver = pds.Rows[i][4].ToString().Trim();
+ oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
+ BLL.QualityManagementSysService.UpdateQualityManagementSys(oldViewInfo);
+ }
+ }
+ }
+ }
+ else
+ {
+ ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
+ }
+ return true;
+ }
+ #endregion
+ #endregion
+
+ #region 下载模板
+ ///
+ /// 下载模板按钮
+ ///
+ ///
+ ///
+ 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.QualityManagementSysTemUrl;
+ string filePath = Const.QualityManagementSysTemUrl;
+ 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();
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.designer.cs
new file mode 100644
index 00000000..e93da8bf
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysDataIn.aspx.designer.cs
@@ -0,0 +1,123 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class QualityManagementSysDataIn {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// hdFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdFileName;
+
+ ///
+ /// btnAudit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAudit;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDownLoad;
+
+ ///
+ /// hdCheckResult 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdCheckResult;
+
+ ///
+ /// fuAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fuAttachUrl;
+
+ ///
+ /// gvErrorInfo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvErrorInfo;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx
new file mode 100644
index 00000000..58caa25f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx
@@ -0,0 +1,65 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSysEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSysEdit" %>
+
+
+
+
+
+
+ 编辑质量管理制度
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.cs
new file mode 100644
index 00000000..3331bea7
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.cs
@@ -0,0 +1,151 @@
+using BLL;
+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.QualityPlanning
+{
+ public partial class QualityManagementSysEdit : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 主键
+ ///
+ public string QualityManagementSysId
+ {
+ get
+ {
+ return (string)ViewState["QualityManagementSysId"];
+ }
+ set
+ {
+ ViewState["QualityManagementSysId"] = value;
+ }
+ }
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
+
+ this.QualityManagementSysId = Request.Params["id"];
+ Model.QualityPlanning_QualityManagementSys sys = BLL.QualityManagementSysService.GetQualityManagementSysById(this.QualityManagementSysId);
+ if (sys != null)
+ {
+ this.QualityManagementSysId = sys.QualityManagementSysId;
+ this.hdAttachUrl.Text = this.QualityManagementSysId;
+ this.txtFileCode.Text = sys.FileCode;
+ this.txtFileName.Text = sys.FileName;
+ if (!string.IsNullOrEmpty(sys.CompileMan))
+ {
+ this.drpCompileMan.SelectedValue = sys.CompileMan;
+ }
+ this.txtAuditor.Text = sys.Auditor;
+ this.txtApprover.Text = sys.Approver;
+ this.txtApprovalDate.Text = sys.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", sys.ApprovalDate) : "";
+ }
+ else
+ {
+ this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
+ this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+ #region 保存
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Model.QualityPlanning_QualityManagementSys newSys = new Model.QualityPlanning_QualityManagementSys();
+ newSys.ProjectId = this.CurrUser.LoginProjectId;
+ newSys.FileCode = this.txtFileCode.Text.Trim();
+ newSys.FileName = this.txtFileName.Text.Trim();
+ if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
+ {
+ newSys.CompileMan = this.drpCompileMan.SelectedValue;
+ }
+ newSys.CompileDate = DateTime.Now;
+ newSys.Auditor = this.txtAuditor.Text.Trim();
+ newSys.Approver = this.txtApprover.Text.Trim();
+ newSys.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
+ if (string.IsNullOrEmpty(this.QualityManagementSysId))
+ {
+ if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
+ {
+ newSys.QualityManagementSysId = this.hdAttachUrl.Text;
+ }
+ else
+ {
+ newSys.QualityManagementSysId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
+ this.hdAttachUrl.Text = newSys.QualityManagementSysId;
+ }
+ BLL.QualityManagementSysService.AddQualityManagementSys(newSys);
+ }
+ else
+ {
+ newSys.QualityManagementSysId = this.QualityManagementSysId;
+ BLL.QualityManagementSysService.UpdateQualityManagementSys(newSys);
+ }
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ #endregion
+
+ #region 附件上传
+ ///
+ /// 附件上传
+ ///
+ ///
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
+ {
+ this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
+ }
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/QualityManagementSys&menuId={1}", this.hdAttachUrl.Text, BLL.Const.QualityManagementSysMenuId)));
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == "0")
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QualityManagementSysMenuId);
+ if (buttonList.Count > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.designer.cs
new file mode 100644
index 00000000..71ab3684
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/QualityPlanning/QualityManagementSysEdit.aspx.designer.cs
@@ -0,0 +1,159 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.QualityPlanning {
+
+
+ public partial class QualityManagementSysEdit {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// txtFileCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileCode;
+
+ ///
+ /// txtFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtFileName;
+
+ ///
+ /// drpCompileMan 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpCompileMan;
+
+ ///
+ /// txtAuditor 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtAuditor;
+
+ ///
+ /// txtApprover 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtApprover;
+
+ ///
+ /// txtApprovalDate 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtApprovalDate;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label Label1;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/类似项目施工经验总结清单导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/类似项目施工经验总结清单导入模板.xls
new file mode 100644
index 0000000000000000000000000000000000000000..bafd5b03bfe5b17b846e1a62364f2a6891dab78a
GIT binary patch
literal 20480
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
C)3^5k
literal 0
HcmV?d00001
diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/项目质量计划导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/项目质量计划导入模板.xls
new file mode 100644
index 0000000000000000000000000000000000000000..ef39fc3bdcac7181767c7471b81c2a7435ed255c
GIT binary patch
literal 20992
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
+
+
+
+
+
+
+
+
+
+
@@ -1715,6 +1725,7 @@
+
@@ -8363,6 +8374,76 @@
TestPackageManagementEdit.aspx
+
+ ConExperienceSummary.aspx
+ ASPXCodeBehind
+
+
+ ConExperienceSummary.aspx
+
+
+ ConExperienceSummaryDataIn.aspx
+ ASPXCodeBehind
+
+
+ ConExperienceSummaryDataIn.aspx
+
+
+ ConExperienceSummaryEdit.aspx
+ ASPXCodeBehind
+
+
+ ConExperienceSummaryEdit.aspx
+
+
+ Organizational.aspx
+ ASPXCodeBehind
+
+
+ Organizational.aspx
+
+
+ ProjectQualityPlan.aspx
+ ASPXCodeBehind
+
+
+ ProjectQualityPlan.aspx
+
+
+ ProjectQualityPlanDataIn.aspx
+ ASPXCodeBehind
+
+
+ ProjectQualityPlanDataIn.aspx
+
+
+ ProjectQualityPlanEdit.aspx
+ ASPXCodeBehind
+
+
+ ProjectQualityPlanEdit.aspx
+
+
+ QualityManagementSys.aspx
+ ASPXCodeBehind
+
+
+ QualityManagementSys.aspx
+
+
+ QualityManagementSysDataIn.aspx
+ ASPXCodeBehind
+
+
+ QualityManagementSysDataIn.aspx
+
+
+ QualityManagementSysEdit.aspx
+ ASPXCodeBehind
+
+
+ QualityManagementSysEdit.aspx
+
ConstructSolution.aspx
ASPXCodeBehind
@@ -8484,6 +8565,7 @@
DivisionSubProjects.aspx
+ ASPXCodeBehind
DivisionSubProjects.aspx
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
index b8cc84be..63722353 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
@@ -16,9 +16,8 @@
-
-
- CurrentPage
+ Login.aspx
+ SpecificPage
True
False
False
diff --git a/SGGL/FineUIPro.Web/Login.aspx b/SGGL/FineUIPro.Web/Login.aspx
index 422ad4f8..b781e94e 100644
--- a/SGGL/FineUIPro.Web/Login.aspx
+++ b/SGGL/FineUIPro.Web/Login.aspx
@@ -42,7 +42,7 @@
+ style="width: auto; height: 335px;width:355px; position: absolute; flex-shrink: 0; margin: 0px;border-radius:10px;box-shadow:0px 20px 20px #1b1b2a; top: 0px; left: 0px;">
diff --git a/SGGL/FineUIPro.Web/common/Menu_CQMS.xml b/SGGL/FineUIPro.Web/common/Menu_CQMS.xml
index 87be14d7..72b5f81f 100644
--- a/SGGL/FineUIPro.Web/common/Menu_CQMS.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_CQMS.xml
@@ -3,6 +3,7 @@
+
@@ -58,4 +59,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_CQMS.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_CQMS.aspx.cs
index cf225c7f..abcc9980 100644
--- a/SGGL/FineUIPro.Web/common/mainMenu_CQMS.aspx.cs
+++ b/SGGL/FineUIPro.Web/common/mainMenu_CQMS.aspx.cs
@@ -203,7 +203,11 @@ namespace FineUIPro.Web
List
listCategories = new List();
businessColumn.title = "质量问题统计";
businessColumn.xFontNum = 5;
- var cns = BLL.CNProfessionalService.GetList();
+ //var cns = BLL.CNProfessionalService.GetList();
+ var cns = (from x in Funs.DB.Base_CNProfessional
+ where x.CNProfessionalId != BLL.Const.CNProfessionalHSEId
+ && x.CNProfessionalId != BLL.Const.CNProfessionalConstructId
+ select x).ToList();
var checks = from x in Funs.DB.Check_CheckControl
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
select x;
diff --git a/SGGL/FineUIPro.Web/res/images/Organizational.png b/SGGL/FineUIPro.Web/res/images/Organizational.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff29a6459636faa0a0702b976a7b00dbb9fb46e1
GIT binary patch
literal 11018
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 Manager_Month_ComplianceObligations
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table Manager_Month_ComplianceObligationsC
{
get
@@ -7944,6 +7967,30 @@ namespace Model
}
}
+ public System.Data.Linq.Table QualityPlanning_ConExperienceSummary
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
+ public System.Data.Linq.Table QualityPlanning_ProjectQualityPlan
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
+ public System.Data.Linq.Table QualityPlanning_QualityManagementSys
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table RealName_BasicData
{
get
@@ -8048,6 +8095,14 @@ namespace Model
}
}
+ public System.Data.Linq.Table Report_CQMS_ProblemHandle
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table Report_CqmsTarget
{
get
@@ -10104,6 +10159,14 @@ namespace Model
}
}
+ public System.Data.Linq.Table View_ProjectUserWorkPost
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table View_PTP_TestPackageAudit
{
get
@@ -21657,8 +21720,6 @@ namespace Model
private string _CodeRule;
- private EntitySet _Doc_DocManage;
-
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -21675,7 +21736,6 @@ namespace Model
public Base_DocType()
{
- this._Doc_DocManage = new EntitySet(new Action(this.attach_Doc_DocManage), new Action(this.detach_Doc_DocManage));
OnCreated();
}
@@ -21759,19 +21819,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Doc_DocManage_Base_DocType", Storage="_Doc_DocManage", ThisKey="DocTypeId", OtherKey="DocTypeId", DeleteRule="NO ACTION")]
- public EntitySet Doc_DocManage
- {
- get
- {
- return this._Doc_DocManage;
- }
- set
- {
- this._Doc_DocManage.Assign(value);
- }
- }
-
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@@ -21791,18 +21838,6 @@ namespace Model
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
-
- private void attach_Doc_DocManage(Doc_DocManage entity)
- {
- this.SendPropertyChanging();
- entity.Base_DocType = this;
- }
-
- private void detach_Doc_DocManage(Doc_DocManage entity)
- {
- this.SendPropertyChanging();
- entity.Base_DocType = null;
- }
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Base_EmergencyType")]
@@ -26602,6 +26637,12 @@ namespace Model
private EntitySet _QualityAudit_SubUnitQualityAuditDetail;
+ private EntitySet _QualityPlanning_ConExperienceSummary;
+
+ private EntitySet _QualityPlanning_ProjectQualityPlan;
+
+ private EntitySet _QualityPlanning_QualityManagementSys;
+
private EntitySet _Report_WeekAndMonthReport;
private EntitySet _SafetyData_SafetyDataItem;
@@ -27042,6 +27083,9 @@ namespace Model
this._QualityAudit_InUnit = new EntitySet(new Action(this.attach_QualityAudit_InUnit), new Action(this.detach_QualityAudit_InUnit));
this._QualityAudit_ProjectRecord = new EntitySet(new Action(this.attach_QualityAudit_ProjectRecord), new Action(this.detach_QualityAudit_ProjectRecord));
this._QualityAudit_SubUnitQualityAuditDetail = new EntitySet(new Action(this.attach_QualityAudit_SubUnitQualityAuditDetail), new Action(this.detach_QualityAudit_SubUnitQualityAuditDetail));
+ this._QualityPlanning_ConExperienceSummary = new EntitySet(new Action(this.attach_QualityPlanning_ConExperienceSummary), new Action(this.detach_QualityPlanning_ConExperienceSummary));
+ this._QualityPlanning_ProjectQualityPlan = new EntitySet(new Action(this.attach_QualityPlanning_ProjectQualityPlan), new Action(this.detach_QualityPlanning_ProjectQualityPlan));
+ this._QualityPlanning_QualityManagementSys = new EntitySet(new Action(this.attach_QualityPlanning_QualityManagementSys), new Action(this.detach_QualityPlanning_QualityManagementSys));
this._Report_WeekAndMonthReport = new EntitySet(new Action(this.attach_Report_WeekAndMonthReport), new Action(this.detach_Report_WeekAndMonthReport));
this._SafetyData_SafetyDataItem = new EntitySet(new Action(this.attach_SafetyData_SafetyDataItem), new Action(this.detach_SafetyData_SafetyDataItem));
this._SafetyData_SafetyDataPlan = new EntitySet(new Action(this.attach_SafetyData_SafetyDataPlan), new Action(this.detach_SafetyData_SafetyDataPlan));
@@ -31246,6 +31290,45 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_QualityPlanning_ConExperienceSummary_Base_Project", Storage="_QualityPlanning_ConExperienceSummary", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
+ public EntitySet QualityPlanning_ConExperienceSummary
+ {
+ get
+ {
+ return this._QualityPlanning_ConExperienceSummary;
+ }
+ set
+ {
+ this._QualityPlanning_ConExperienceSummary.Assign(value);
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_QualityPlanning_ProjectQualityPlan_Base_Project", Storage="_QualityPlanning_ProjectQualityPlan", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
+ public EntitySet QualityPlanning_ProjectQualityPlan
+ {
+ get
+ {
+ return this._QualityPlanning_ProjectQualityPlan;
+ }
+ set
+ {
+ this._QualityPlanning_ProjectQualityPlan.Assign(value);
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_QualityPlanning_QualityManagementSys_Base_Project", Storage="_QualityPlanning_QualityManagementSys", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
+ public EntitySet QualityPlanning_QualityManagementSys
+ {
+ get
+ {
+ return this._QualityPlanning_QualityManagementSys;
+ }
+ set
+ {
+ this._QualityPlanning_QualityManagementSys.Assign(value);
+ }
+ }
+
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Report_WeekAndMonthReport_Base_Project", Storage="_Report_WeekAndMonthReport", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
public EntitySet Report_WeekAndMonthReport
{
@@ -34927,6 +35010,42 @@ namespace Model
entity.Base_Project = null;
}
+ private void attach_QualityPlanning_ConExperienceSummary(QualityPlanning_ConExperienceSummary entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = this;
+ }
+
+ private void detach_QualityPlanning_ConExperienceSummary(QualityPlanning_ConExperienceSummary entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = null;
+ }
+
+ private void attach_QualityPlanning_ProjectQualityPlan(QualityPlanning_ProjectQualityPlan entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = this;
+ }
+
+ private void detach_QualityPlanning_ProjectQualityPlan(QualityPlanning_ProjectQualityPlan entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = null;
+ }
+
+ private void attach_QualityPlanning_QualityManagementSys(QualityPlanning_QualityManagementSys entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = this;
+ }
+
+ private void detach_QualityPlanning_QualityManagementSys(QualityPlanning_QualityManagementSys entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_Project = null;
+ }
+
private void attach_Report_WeekAndMonthReport(Report_WeekAndMonthReport entity)
{
this.SendPropertyChanging();
@@ -93274,7 +93393,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanName", DbType="NVarChar(50)")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanName", DbType="NVarChar(300)")]
public string PlanName
{
get
@@ -98413,10 +98532,10 @@ namespace Model
private string _AuditMan;
- private string _Problem;
-
private string _Measure;
+ private string _Problem;
+
private System.Nullable _RemarkCode;
private EntityRef _Sys_User;
@@ -98465,10 +98584,10 @@ namespace Model
partial void OnStatusChanged();
partial void OnAuditManChanging(string value);
partial void OnAuditManChanged();
- partial void OnProblemChanging(string value);
- partial void OnProblemChanged();
partial void OnMeasureChanging(string value);
partial void OnMeasureChanged();
+ partial void OnProblemChanging(string value);
+ partial void OnProblemChanged();
partial void OnRemarkCodeChanging(System.Nullable value);
partial void OnRemarkCodeChanged();
#endregion
@@ -98838,27 +98957,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Problem", DbType="VarChar(50)")]
- public string Problem
- {
- get
- {
- return this._Problem;
- }
- set
- {
- if ((this._Problem != value))
- {
- this.OnProblemChanging(value);
- this.SendPropertyChanging();
- this._Problem = value;
- this.SendPropertyChanged("Problem");
- this.OnProblemChanged();
- }
- }
- }
-
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Measure", DbType="VarChar(100)")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Measure", DbType="NVarChar(1000)")]
public string Measure
{
get
@@ -98878,6 +98977,26 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Problem", DbType="NVarChar(1000)")]
+ public string Problem
+ {
+ get
+ {
+ return this._Problem;
+ }
+ set
+ {
+ if ((this._Problem != value))
+ {
+ this.OnProblemChanging(value);
+ this.SendPropertyChanging();
+ this._Problem = value;
+ this.SendPropertyChanged("Problem");
+ this.OnProblemChanged();
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="Int")]
public System.Nullable RemarkCode
{
@@ -122200,8 +122319,6 @@ namespace Model
private EntityRef _Base_CNProfessional;
- private EntityRef _Base_DocType;
-
private EntityRef _Base_Project;
private EntityRef _Base_Unit;
@@ -122253,7 +122370,6 @@ namespace Model
public Doc_DocManage()
{
this._Base_CNProfessional = default(EntityRef);
- this._Base_DocType = default(EntityRef);
this._Base_Project = default(EntityRef);
this._Base_Unit = default(EntityRef);
this._Sys_User = default(EntityRef);
@@ -122332,10 +122448,6 @@ namespace Model
{
if ((this._DocTypeId != value))
{
- if (this._Base_DocType.HasLoadedOrAssignedValue)
- {
- throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
- }
this.OnDocTypeIdChanging(value);
this.SendPropertyChanging();
this._DocTypeId = value;
@@ -122655,40 +122767,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Doc_DocManage_Base_DocType", Storage="_Base_DocType", ThisKey="DocTypeId", OtherKey="DocTypeId", IsForeignKey=true)]
- public Base_DocType Base_DocType
- {
- get
- {
- return this._Base_DocType.Entity;
- }
- set
- {
- Base_DocType previousValue = this._Base_DocType.Entity;
- if (((previousValue != value)
- || (this._Base_DocType.HasLoadedOrAssignedValue == false)))
- {
- this.SendPropertyChanging();
- if ((previousValue != null))
- {
- this._Base_DocType.Entity = null;
- previousValue.Doc_DocManage.Remove(this);
- }
- this._Base_DocType.Entity = value;
- if ((value != null))
- {
- value.Doc_DocManage.Add(this);
- this._DocTypeId = value.DocTypeId;
- }
- else
- {
- this._DocTypeId = default(string);
- }
- this.SendPropertyChanged("Base_DocType");
- }
- }
- }
-
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Doc_DocManage_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
public Base_Project Base_Project
{
@@ -122859,8 +122937,6 @@ namespace Model
private EntityRef _Doc_DocManage;
- private EntityRef _Sys_User;
-
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -122884,7 +122960,6 @@ namespace Model
public Doc_DocManageApprove()
{
this._Doc_DocManage = default(EntityRef);
- this._Sys_User = default(EntityRef);
OnCreated();
}
@@ -122932,7 +123007,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveMan", DbType="NVarChar(50)")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveMan", DbType="NVarChar(500)")]
public string ApproveMan
{
get
@@ -122943,10 +123018,6 @@ namespace Model
{
if ((this._ApproveMan != value))
{
- if (this._Sys_User.HasLoadedOrAssignedValue)
- {
- throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
- }
this.OnApproveManChanging(value);
this.SendPropertyChanging();
this._ApproveMan = value;
@@ -123070,40 +123141,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Doc_DocManageApprove_Sys_User", Storage="_Sys_User", ThisKey="ApproveMan", OtherKey="UserId", IsForeignKey=true)]
- public Sys_User Sys_User
- {
- get
- {
- return this._Sys_User.Entity;
- }
- set
- {
- Sys_User previousValue = this._Sys_User.Entity;
- if (((previousValue != value)
- || (this._Sys_User.HasLoadedOrAssignedValue == false)))
- {
- this.SendPropertyChanging();
- if ((previousValue != null))
- {
- this._Sys_User.Entity = null;
- previousValue.Doc_DocManageApprove.Remove(this);
- }
- this._Sys_User.Entity = value;
- if ((value != null))
- {
- value.Doc_DocManageApprove.Add(this);
- this._ApproveMan = value.UserId;
- }
- else
- {
- this._ApproveMan = default(string);
- }
- this.SendPropertyChanged("Sys_User");
- }
- }
- }
-
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@@ -237950,6 +237987,229 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Manager_Month_ComplianceObligations")]
+ public partial class Manager_Month_ComplianceObligations : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _ComplianceObligationsId;
+
+ private string _MonthReportId;
+
+ private string _InformationContent;
+
+ private string _ResponseMeasures;
+
+ private string _ImplementationStatus;
+
+ private string _EvaluationConclusion;
+
+ private EntityRef _Manager_MonthReportC;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnComplianceObligationsIdChanging(string value);
+ partial void OnComplianceObligationsIdChanged();
+ partial void OnMonthReportIdChanging(string value);
+ partial void OnMonthReportIdChanged();
+ partial void OnInformationContentChanging(string value);
+ partial void OnInformationContentChanged();
+ partial void OnResponseMeasuresChanging(string value);
+ partial void OnResponseMeasuresChanged();
+ partial void OnImplementationStatusChanging(string value);
+ partial void OnImplementationStatusChanged();
+ partial void OnEvaluationConclusionChanging(string value);
+ partial void OnEvaluationConclusionChanged();
+ #endregion
+
+ public Manager_Month_ComplianceObligations()
+ {
+ this._Manager_MonthReportC = default(EntityRef);
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ComplianceObligationsId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string ComplianceObligationsId
+ {
+ get
+ {
+ return this._ComplianceObligationsId;
+ }
+ set
+ {
+ if ((this._ComplianceObligationsId != value))
+ {
+ this.OnComplianceObligationsIdChanging(value);
+ this.SendPropertyChanging();
+ this._ComplianceObligationsId = value;
+ this.SendPropertyChanged("ComplianceObligationsId");
+ this.OnComplianceObligationsIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MonthReportId", DbType="NVarChar(50)")]
+ public string MonthReportId
+ {
+ get
+ {
+ return this._MonthReportId;
+ }
+ set
+ {
+ if ((this._MonthReportId != value))
+ {
+ if (this._Manager_MonthReportC.HasLoadedOrAssignedValue)
+ {
+ throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
+ }
+ this.OnMonthReportIdChanging(value);
+ this.SendPropertyChanging();
+ this._MonthReportId = value;
+ this.SendPropertyChanged("MonthReportId");
+ this.OnMonthReportIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InformationContent", DbType="NVarChar(500)")]
+ public string InformationContent
+ {
+ get
+ {
+ return this._InformationContent;
+ }
+ set
+ {
+ if ((this._InformationContent != value))
+ {
+ this.OnInformationContentChanging(value);
+ this.SendPropertyChanging();
+ this._InformationContent = value;
+ this.SendPropertyChanged("InformationContent");
+ this.OnInformationContentChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResponseMeasures", DbType="NVarChar(500)")]
+ public string ResponseMeasures
+ {
+ get
+ {
+ return this._ResponseMeasures;
+ }
+ set
+ {
+ if ((this._ResponseMeasures != value))
+ {
+ this.OnResponseMeasuresChanging(value);
+ this.SendPropertyChanging();
+ this._ResponseMeasures = value;
+ this.SendPropertyChanged("ResponseMeasures");
+ this.OnResponseMeasuresChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ImplementationStatus", DbType="NVarChar(500)")]
+ public string ImplementationStatus
+ {
+ get
+ {
+ return this._ImplementationStatus;
+ }
+ set
+ {
+ if ((this._ImplementationStatus != value))
+ {
+ this.OnImplementationStatusChanging(value);
+ this.SendPropertyChanging();
+ this._ImplementationStatus = value;
+ this.SendPropertyChanged("ImplementationStatus");
+ this.OnImplementationStatusChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EvaluationConclusion", DbType="NVarChar(50)")]
+ public string EvaluationConclusion
+ {
+ get
+ {
+ return this._EvaluationConclusion;
+ }
+ set
+ {
+ if ((this._EvaluationConclusion != value))
+ {
+ this.OnEvaluationConclusionChanging(value);
+ this.SendPropertyChanging();
+ this._EvaluationConclusion = value;
+ this.SendPropertyChanged("EvaluationConclusion");
+ this.OnEvaluationConclusionChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Manager_Month_ComplianceObligations_Manager_MonthReportC", Storage="_Manager_MonthReportC", ThisKey="MonthReportId", OtherKey="MonthReportId", IsForeignKey=true)]
+ public Manager_MonthReportC Manager_MonthReportC
+ {
+ get
+ {
+ return this._Manager_MonthReportC.Entity;
+ }
+ set
+ {
+ Manager_MonthReportC previousValue = this._Manager_MonthReportC.Entity;
+ if (((previousValue != value)
+ || (this._Manager_MonthReportC.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._Manager_MonthReportC.Entity = null;
+ previousValue.Manager_Month_ComplianceObligations.Remove(this);
+ }
+ this._Manager_MonthReportC.Entity = value;
+ if ((value != null))
+ {
+ value.Manager_Month_ComplianceObligations.Add(this);
+ this._MonthReportId = value.MonthReportId;
+ }
+ else
+ {
+ this._MonthReportId = default(string);
+ }
+ this.SendPropertyChanged("Manager_MonthReportC");
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Manager_Month_ComplianceObligationsC")]
public partial class Manager_Month_ComplianceObligationsC : INotifyPropertyChanging, INotifyPropertyChanged
{
@@ -244149,6 +244409,8 @@ namespace Model
private EntitySet _Manager_Month_CheckC;
+ private EntitySet _Manager_Month_ComplianceObligations;
+
private EntitySet _Manager_Month_ComplianceObligationsC;
private EntitySet _Manager_Month_CostInvestmentPlanC;
@@ -244421,6 +244683,7 @@ namespace Model
this._Manager_Month_ActivitiesC = new EntitySet(new Action(this.attach_Manager_Month_ActivitiesC), new Action(this.detach_Manager_Month_ActivitiesC));
this._Manager_Month_ActivityDesC = new EntitySet |