Merge branch 'master' of http://47.104.102.122:3000/panhf/CNCEC_SUBQHSE_WUHUAN
This commit is contained in:
commit
2b0b4718ef
|
@ -0,0 +1,918 @@
|
|||
|
||||
CREATE TABLE [dbo].[Base_TestRunPerformanceStandard](
|
||||
[TestRunPerformanceStandardId] [nvarchar](50) NOT NULL,
|
||||
[Code] [nvarchar](10) NULL,
|
||||
[Code1] [int] NULL,
|
||||
[Code2] [int] NULL,
|
||||
[Code3] [int] NULL,
|
||||
[Type] [nvarchar](50) NULL,
|
||||
[Item] [nvarchar](50) NULL,
|
||||
[Unit] [nvarchar](50) NULL,
|
||||
[Days] [int] NULL,
|
||||
CONSTRAINT [PK_Base_TestRunPerformanceStandard] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[TestRunPerformanceStandardId] 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
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'TestRunPerformanceStandardId'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Code'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号1' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Code1'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号2' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Code2'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号3' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Code3'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工作大类' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Type'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工作项' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Item'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'计量单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Unit'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'标准工作日' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard', @level2type=N'COLUMN',@level2name=N'Days'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'试车绩效评价标准表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_TestRunPerformanceStandard'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.1',1,1,1,'部门基础工作','专业培训','准备',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.1',1,1,2,'部门基础工作','专业培训','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.1',1,1,3,'部门基础工作','专业培训','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.1',1,1,4,'部门基础工作','专业培训','参培',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.1',1,1,5,'部门基础工作','专业培训','总结',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,1,'部门基础工作','体系文件','修编',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,2,'部门基础工作','体系文件','新编',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,3,'部门基础工作','体系文件','审修',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,4,'部门基础工作','体系文件','审新',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,5,'部门基础工作','体系文件','会审',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.2',1,2,6,'部门基础工作','体系文件','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,1,'部门基础工作','作业方法','修编',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,2,'部门基础工作','作业方法','新编',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,3,'部门基础工作','作业方法','审修',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,4,'部门基础工作','作业方法','审新',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,5,'部门基础工作','作业方法','会审',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.3',1,3,6,'部门基础工作','作业方法','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,1,'部门基础工作','其他文件','修编',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,2,'部门基础工作','其他文件','新编',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,3,'部门基础工作','其他文件','审修',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,4,'部门基础工作','其他文件','审新',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,5,'部门基础工作','其他文件','会审',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.4',1,4,6,'部门基础工作','其他文件','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.5',1,5,1,'部门基础工作','案例或总结','新编',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.5',1,5,2,'部门基础工作','案例或总结','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.5',1,5,3,'部门基础工作','案例或总结','批准',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.6',1,6,1,'部门基础工作','创新或专利','组织',30)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.6',1,6,2,'部门基础工作','创新或专利','参加',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.7',1,7,1,'部门基础工作','合作名录','考察',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.7',1,7,2,'部门基础工作','合作名录','收集',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.7',1,7,3,'部门基础工作','合作名录','归档',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'1.8',1,8,1,'部门基础工作','部门其他','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.1',2,1,1,'公司培训','外培','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.1',2,1,2,'公司培训','外培','授课',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.1',2,1,3,'公司培训','外培','总结',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.2',2,2,1,'公司培训','内培','准备',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.2',2,2,2,'公司培训','内培','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.2',2,2,3,'公司培训','内培','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'2.2',2,2,4,'公司培训','内培','总结',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.1',3,1,1,'项目投标','投标准备','会议',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.1',3,1,2,'项目投标','投标准备','熟悉标书',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.1',3,1,3,'项目投标','投标准备','澄清',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.1',3,1,4,'项目投标','投标准备','考察',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.1',3,1,5,'项目投标','投标准备','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.2',3,2,1,'项目投标','培训程序','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.2',3,2,2,'项目投标','培训程序','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.2',3,2,3,'项目投标','培训程序','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.2',3,2,4,'项目投标','培训程序','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.3',3,3,1,'项目投标','预试车、试车程序','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.3',3,3,2,'项目投标','预试车、试车程序','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.3',3,3,3,'项目投标','预试车、试车程序','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.3',3,3,4,'项目投标','预试车、试车程序','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.4',3,4,1,'项目投标','考核程序','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.4',3,4,2,'项目投标','考核程序','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.4',3,4,3,'项目投标','考核程序','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.4',3,4,4,'项目投标','考核程序','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.5',3,5,1,'项目投标','费用估算','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.5',3,5,2,'项目投标','费用估算','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.5',3,5,3,'项目投标','费用估算','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.5',3,5,4,'项目投标','费用估算','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.6',3,6,1,'项目投标','开车计划','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.6',3,6,2,'项目投标','开车计划','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.6',3,6,3,'项目投标','开车计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'3.6',3,6,4,'项目投标','开车计划','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.1',4,1,1,'开车策划','前期准备','会议',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.1',4,1,2,'开车策划','前期准备','熟悉文件',15)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.1',4,1,3,'开车策划','前期准备','考察',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.1',4,1,4,'开车策划','前期准备','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.2',4,2,1,'开车策划','管理实施计划','编制',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.3',4,3,1,'开车策划','人员需求计划','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.3',4,3,2,'开车策划','人员需求计划','校核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.3',4,3,3,'开车策划','人员需求计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.4',4,4,1,'开车策划','责任分工表','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.4',4,4,2,'开车策划','责任分工表','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.4',4,4,3,'开车策划','责任分工表','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.5',4,5,1,'开车策划','文件编制计划','编制',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.5',4,5,2,'开车策划','文件编制计划','校核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.5',4,5,3,'开车策划','文件编制计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.6',4,6,1,'开车策划','分包计划','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.6',4,6,2,'开车策划','分包计划','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.6',4,6,3,'开车策划','分包计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.7',4,7,1,'开车策划','物资需求计划','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.7',4,7,2,'开车策划','物资需求计划','校核',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.7',4,7,3,'开车策划','物资需求计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.8',4,8,1,'开车策划','费用需求计划','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.8',4,8,2,'开车策划','费用需求计划','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.8',4,8,3,'开车策划','费用需求计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.9',4,9,1,'开车策划','进度计划','编制',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.9',4,9,2,'开车策划','进度计划','校核',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.9',4,9,3,'开车策划','进度计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.10',4,10,1,'开车策划','其他策划','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.10',4,10,2,'开车策划','其他策划','校核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'4.10',4,10,3,'开车策划','其他策划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.1',5,1,1,'开车培训','业主人员培训计划','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.1',5,1,2,'开车培训','业主人员培训计划','校核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.1',5,1,3,'开车培训','业主人员培训计划','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.2',5,2,1,'开车培训','办公室理论','准备',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.2',5,2,2,'开车培训','办公室理论','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.2',5,2,3,'开车培训','办公室理论','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.2',5,2,4,'开车培训','办公室理论','考核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.2',5,2,5,'开车培训','办公室理论','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,1,'开车培训','关键设备制造厂','准备',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,2,'开车培训','关键设备制造厂','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,3,'开车培训','关键设备制造厂','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,4,'开车培训','关键设备制造厂','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,5,'开车培训','关键设备制造厂','考核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.3',5,3,6,'开车培训','关键设备制造厂','报告',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,1,'开车培训','类似装置操作','准备',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,2,'开车培训','类似装置操作','组织',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,3,'开车培训','类似装置操作','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,4,'开车培训','类似装置操作','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,5,'开车培训','类似装置操作','考核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.4',5,4,6,'开车培训','类似装置操作','报告',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.5',5,5,1,'开车培训','合同装置现场','准备',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.5',5,5,2,'开车培训','合同装置现场','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.5',5,5,3,'开车培训','合同装置现场','授课',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.5',5,5,4,'开车培训','合同装置现场','考核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'5.5',5,5,5,'开车培训','合同装置现场','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.1',6,1,1,'合同管理','分包商考察','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.1',6,1,2,'合同管理','分包商考察','参加',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.1',6,1,3,'合同管理','分包商考察','报告',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.2',6,2,1,'合同管理','开车队合同','编制',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.2',6,2,2,'合同管理','开车队合同','会审',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.2',6,2,3,'合同管理','开车队合同','谈判',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.2',6,2,4,'合同管理','开车队合同','评审',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.2',6,2,5,'合同管理','开车队合同','签订',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.3',6,3,1,'合同管理','其他合同','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.3',6,3,2,'合同管理','其他合同','会审',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.3',6,3,3,'合同管理','其他合同','谈判',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.3',6,3,4,'合同管理','其他合同','评审',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.3',6,3,5,'合同管理','其他合同','签订',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.4',6,4,1,'合同管理','合同付款','核算',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.4',6,4,2,'合同管理','合同付款','申请',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.4',6,4,3,'合同管理','合同付款','批准',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.5',6,5,1,'合同管理','合同履约评价','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.5',6,5,2,'合同管理','合同履约评价','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'6.5',6,5,3,'合同管理','合同履约评价','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.1',7,1,1,'预试车','循环水系统冲洗','编制',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.1',7,1,2,'预试车','循环水系统冲洗','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.1',7,1,3,'预试车','循环水系统冲洗','组织',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.1',7,1,4,'预试车','循环水系统冲洗','参加',8)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.1',7,1,5,'预试车','循环水系统冲洗','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.2',7,2,1,'预试车','其他管道水冲洗_回路','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.2',7,2,2,'预试车','其他管道水冲洗_回路','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.2',7,2,3,'预试车','其他管道水冲洗_回路','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.2',7,2,4,'预试车','其他管道水冲洗_回路','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.2',7,2,5,'预试车','其他管道水冲洗_回路','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.3',7,3,1,'预试车','管道空气吹扫_回路','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.3',7,3,2,'预试车','管道空气吹扫_回路','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.3',7,3,3,'预试车','管道空气吹扫_回路','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.3',7,3,4,'预试车','管道空气吹扫_回路','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.3',7,3,5,'预试车','管道空气吹扫_回路','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.4',7,4,1,'预试车','简单蒸汽管道吹扫','编制',15)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.4',7,4,2,'预试车','简单蒸汽管道吹扫','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.4',7,4,3,'预试车','简单蒸汽管道吹扫','组织',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.4',7,4,4,'预试车','简单蒸汽管道吹扫','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.4',7,4,5,'预试车','简单蒸汽管道吹扫','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.5',7,5,1,'预试车','复杂蒸汽管道吹扫','编制',30)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.5',7,5,2,'预试车','复杂蒸汽管道吹扫','审核',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.5',7,5,3,'预试车','复杂蒸汽管道吹扫','组织',10)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.5',7,5,4,'预试车','复杂蒸汽管道吹扫','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.5',7,5,5,'预试车','复杂蒸汽管道吹扫','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.6',7,6,1,'预试车','化学清洗','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.6',7,6,2,'预试车','化学清洗','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.6',7,6,3,'预试车','化学清洗','组织',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.6',7,6,4,'预试车','化学清洗','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.6',7,6,5,'预试车','化学清洗','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.7',7,7,1,'预试车','催化剂、分子筛装填_台','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.7',7,7,2,'预试车','催化剂、分子筛装填_台','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.7',7,7,3,'预试车','催化剂、分子筛装填_台','组织',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.7',7,7,4,'预试车','催化剂、分子筛装填_台','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.7',7,7,5,'预试车','催化剂、分子筛装填_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.8',7,8,1,'预试车','设备耐火材料干燥、烘炉_台','编制',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.8',7,8,2,'预试车','设备耐火材料干燥、烘炉_台','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.8',7,8,3,'预试车','设备耐火材料干燥、烘炉_台','组织',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.8',7,8,4,'预试车','设备耐火材料干燥、烘炉_台','参加',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.8',7,8,5,'预试车','设备耐火材料干燥、烘炉_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.9',7,9,1,'预试车','电仪系统调试_回路','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.9',7,9,2,'预试车','电仪系统调试_回路','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.9',7,9,3,'预试车','电仪系统调试_回路','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.9',7,9,4,'预试车','电仪系统调试_回路','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.9',7,9,5,'预试车','电仪系统调试_回路','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.10',7,10,1,'预试车','一般设备单机试车_台','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.10',7,10,2,'预试车','一般设备单机试车_台','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.10',7,10,3,'预试车','一般设备单机试车_台','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.10',7,10,4,'预试车','一般设备单机试车_台','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.10',7,10,5,'预试车','一般设备单机试车_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.11',7,11,1,'预试车','机组油循环_台','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.11',7,11,2,'预试车','机组油循环_台','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.11',7,11,3,'预试车','机组油循环_台','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.11',7,11,4,'预试车','机组油循环_台','参加',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.11',7,11,5,'预试车','机组油循环_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.12',7,12,1,'预试车','汽轮机试车_台','编制',7)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.12',7,12,2,'预试车','汽轮机试车_台','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.12',7,12,3,'预试车','汽轮机试车_台','组织',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.12',7,12,4,'预试车','汽轮机试车_台','参加',8)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.12',7,12,5,'预试车','汽轮机试车_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.13',7,13,1,'预试车','机组试车','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.13',7,13,2,'预试车','机组试车','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.13',7,13,3,'预试车','机组试车','组织',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.13',7,13,4,'预试车','机组试车','参加',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'7.13',7,13,5,'预试车','机组试车','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.1',8,1,1,'试车','系统联锁、报警检查、整定_回路','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.1',8,1,2,'试车','系统联锁、报警检查、整定_回路','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.1',8,1,3,'试车','系统联锁、报警检查、整定_回路','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.1',8,1,4,'试车','系统联锁、报警检查、整定_回路','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.1',8,1,5,'试车','系统联锁、报警检查、整定_回路','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.2',8,2,1,'试车','系统预膜钝化','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.2',8,2,2,'试车','系统预膜钝化','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.2',8,2,3,'试车','系统预膜钝化','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.2',8,2,4,'试车','系统预膜钝化','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.2',8,2,5,'试车','系统预膜钝化','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.3',8,3,1,'试车','锅炉、废锅煮炉','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.3',8,3,2,'试车','锅炉、废锅煮炉','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.3',8,3,3,'试车','锅炉、废锅煮炉','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.3',8,3,4,'试车','锅炉、废锅煮炉','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.3',8,3,5,'试车','锅炉、废锅煮炉','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.4',8,4,1,'试车','联动试车_系统','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.4',8,4,2,'试车','联动试车_系统','审核',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.4',8,4,3,'试车','联动试车_系统','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.4',8,4,4,'试车','联动试车_系统','参加',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.4',8,4,5,'试车','联动试车_系统','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.5',8,5,1,'试车','工艺系统气密性试验_系统','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.5',8,5,2,'试车','工艺系统气密性试验_系统','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.5',8,5,3,'试车','工艺系统气密性试验_系统','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.5',8,5,4,'试车','工艺系统气密性试验_系统','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.5',8,5,5,'试车','工艺系统气密性试验_系统','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.6',8,6,1,'试车','干燥、置换_系统','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.6',8,6,2,'试车','干燥、置换_系统','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.6',8,6,3,'试车','干燥、置换_系统','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.6',8,6,4,'试车','干燥、置换_系统','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.6',8,6,5,'试车','干燥、置换_系统','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.7',8,7,1,'试车','催化剂升温还原_台','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.7',8,7,2,'试车','催化剂升温还原_台','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.7',8,7,3,'试车','催化剂升温还原_台','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.7',8,7,4,'试车','催化剂升温还原_台','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.7',8,7,5,'试车','催化剂升温还原_台','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.8',8,8,1,'试车','系统预热、预冷','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.8',8,8,2,'试车','系统预热、预冷','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.8',8,8,3,'试车','系统预热、预冷','组织',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.8',8,8,4,'试车','系统预热、预冷','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.8',8,8,5,'试车','系统预热、预冷','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.9',8,9,1,'试车','投料试车_单元','编制',8)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.9',8,9,2,'试车','投料试车_单元','审核',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.9',8,9,3,'试车','投料试车_单元','组织',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.9',8,9,4,'试车','投料试车_单元','参加',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'8.9',8,9,5,'试车','投料试车_单元','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.1',9,1,1,'试运行及考核','试运行规章制度_个','编制',3)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.1',9,1,2,'试运行及考核','试运行规章制度_个','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.1',9,1,3,'试运行及考核','试运行规章制度_个','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.2',9,2,1,'试运行及考核','试运行实施','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.2',9,2,2,'试运行及考核','试运行实施','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.3',9,3,1,'试运行及考核','性能考核','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'9.3',9,3,2,'试运行及考核','性能考核','记录报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.1',10,1,1,'开车收尾','开车月报告','编制',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.1',10,1,2,'开车收尾','开车月报告','审核',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.1',10,1,3,'开车收尾','开车月报告','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.2',10,2,1,'开车收尾','开车完工报告','编制',5)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.2',10,2,2,'开车收尾','开车完工报告','审核',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.2',10,2,3,'开车收尾','开车完工报告','会审',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.3',10,3,1,'开车收尾','开车文件和资料','收集',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.3',10,3,2,'开车收尾','开车文件和资料','整理',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.3',10,3,3,'开车收尾','开车文件和资料','归档',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.4',10,4,1,'开车收尾','开车工作总结','编制',4)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.5',10,5,1,'开车收尾','现场质保','参加(手动输入)',0)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.6',10,6,1,'开车收尾','工程师执行情况考核','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.6',10,6,2,'开车收尾','工程师执行情况考核','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.6',10,6,3,'开车收尾','工程师执行情况考核','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.7',10,7,1,'开车收尾','开车队履约情况评价','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.7',10,7,2,'开车收尾','开车队履约情况评价','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'10.7',10,7,3,'开车收尾','开车队履约情况评价','报告',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.1',11,1,1,'项目协调','设计','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.1',11,1,2,'项目协调','设计','审查准备',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.1',11,1,3,'项目协调','设计','审查会',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.2',11,2,1,'项目协调','施工管理','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.2',11,2,2,'项目协调','施工管理','审查准备',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.2',11,2,3,'项目协调','施工管理','审查会',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.3',11,3,1,'项目协调','采购管理','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.3',11,3,2,'项目协调','采购管理','审查准备',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.3',11,3,3,'项目协调','采购管理','审查会',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.4',11,4,1,'项目协调','项目会议','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.4',11,4,2,'项目协调','项目会议','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.5',11,5,1,'项目协调','问题处理','组织',2)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'11.5',11,5,2,'项目协调','问题处理','参加',1)
|
||||
GO
|
||||
insert into [dbo].[Base_TestRunPerformanceStandard] values
|
||||
(NEWID(),'12.1',12,1,1,'其他','其他工作','参加(手动输入)',0)
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
delete Sys_Menu where MenuId='EE7E37CA-384F-41B3-BAEE-89CBD9954AB3'
|
||||
delete Sys_Menu where MenuId='E9EF7C6D-7F0A-4FBA-8A79-474D4E61AF27'
|
||||
delete Sys_Menu where MenuId='9ACDF513-BD63-48F5-BFA3-B9B1B7FA19E1'
|
||||
delete Sys_Menu where MenuId='3D554109-D95F-4051-8A6C-5616A7A95C94'
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('EE7E37CA-384F-41B3-BAEE-89CBD9954AB3','预试车进度',null,'TestRun/Report/PreRunSchedule.aspx',1,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('E9EF7C6D-7F0A-4FBA-8A79-474D4E61AF27','三查四定进度',null,'TestRun/Report/FourDecisionSchedule.aspx',2,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('9ACDF513-BD63-48F5-BFA3-B9B1B7FA19E1','试车进度',null,'TestRun/Report/TestRunSchedule.aspx',3,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('3D554109-D95F-4051-8A6C-5616A7A95C94','首页进度设置',null,'TestRun/Report/ScheduleSetUp.aspx',4,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
|
||||
go
|
||||
|
||||
--==预试车/试车/三查四定参数设置
|
||||
if object_id(N'Run_ScheduleSetUp',N'U') is not null
|
||||
drop table dbo.Run_ScheduleSetUp
|
||||
CREATE TABLE dbo.Run_ScheduleSetUp(
|
||||
ScheduleId varchar(50) NOT NULL,--主键
|
||||
WorkPackId varchar(50) NULL,--工作包主键
|
||||
LevelName varchar(50) NULL,--三查四定类别名称
|
||||
ProjectId varchar(50) NULL,--项目主键
|
||||
States int null,--类型1:预试车2:试车3:三查四定
|
||||
AllNum int null,--全部数量
|
||||
ProgressNum int NULL,--进行中数量
|
||||
CompleteNum int NULL,--完成数量
|
||||
CompleteRate decimal(18,2) NULL,--完成率
|
||||
AddUser varchar(50) NULL,--添加人
|
||||
AddTime datetime NULL,--添加日期
|
||||
Sort int NULL,--排序
|
||||
CONSTRAINT PK_Run_ScheduleSetUp PRIMARY KEY CLUSTERED
|
||||
(
|
||||
ScheduleId 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
|
|
@ -510,4 +510,23 @@ GO
|
|||
VALUES('7C866795-2E56-47CD-B937-C468C46DB007','172F25E0-F5E2-42E3-AD67-AC824D4E0FBB','删除',3)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('27E0EE6E-D96F-4300-9574-423F378D79C4','172F25E0-F5E2-42E3-AD67-AC824D4E0FBB','保存',4)
|
||||
GO
|
||||
GO
|
||||
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('53D8CED2-9AA7-43EA-B27D-EA10A06DF713','开车人员绩效管理','',160,'0','Menu_ZHGL',0,0,1)
|
||||
GO
|
||||
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('383290E0-60AE-4D16-8B5E-3899B85EC2ED','开车绩效评分标准','ZHGL/TestRunPerformance/TestRunPerformanceStandard.aspx',10,'53D8CED2-9AA7-43EA-B27D-EA10A06DF713','Menu_ZHGL',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('988B984C-8B74-4D15-B0A7-3A00776984FB','383290E0-60AE-4D16-8B5E-3899B85EC2ED','增加',1)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('B4923645-FCBE-4670-8F27-C85B8FE4C48F','383290E0-60AE-4D16-8B5E-3899B85EC2ED','修改',2)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('5D005176-CE4C-4CDF-8720-505A8BB273F7','383290E0-60AE-4D16-8B5E-3899B85EC2ED','删除',3)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('A14DE61A-2E1B-4F4D-84E8-D87DBB2C5F4D','383290E0-60AE-4D16-8B5E-3899B85EC2ED','保存',4)
|
||||
GO
|
||||
|
||||
|
|
@ -167,6 +167,7 @@
|
|||
<Compile Include="BaseInfo\SpecialSchemeTypeService.cs" />
|
||||
<Compile Include="BaseInfo\SteelService.cs" />
|
||||
<Compile Include="BaseInfo\TestRunLicenseTypeService.cs" />
|
||||
<Compile Include="BaseInfo\TestRunPerformanceStandardService.cs" />
|
||||
<Compile Include="BaseInfo\TrainLevelService.cs" />
|
||||
<Compile Include="BaseInfo\TrainTypeService.cs" />
|
||||
<Compile Include="BaseInfo\TransferMajorService.cs" />
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
/// <summary>
|
||||
/// 开车绩效计算标准
|
||||
/// </summary>
|
||||
public class TestRunPerformanceStandardService
|
||||
{
|
||||
/// <summary>
|
||||
/// 根据主键获取开车绩效计算标准
|
||||
/// </summary>
|
||||
/// <param name="TestRunPerformanceStandardId"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.Base_TestRunPerformanceStandard GetPerformanceStandardById(string TestRunPerformanceStandardId)
|
||||
{
|
||||
return Funs.DB.Base_TestRunPerformanceStandard.FirstOrDefault(e => e.TestRunPerformanceStandardId == TestRunPerformanceStandardId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加开车绩效计算标准
|
||||
/// </summary>
|
||||
/// <param name="testRunPerformanceStandard"></param>
|
||||
public static void AddTestRunPerformanceStandard(Model.Base_TestRunPerformanceStandard testRunPerformanceStandard)
|
||||
{
|
||||
Model.Base_TestRunPerformanceStandard newTestRunPerformanceStandard = new Model.Base_TestRunPerformanceStandard
|
||||
{
|
||||
TestRunPerformanceStandardId = testRunPerformanceStandard.TestRunPerformanceStandardId,
|
||||
Code = testRunPerformanceStandard.Code,
|
||||
Code1 = testRunPerformanceStandard.Code1,
|
||||
Code2 = testRunPerformanceStandard.Code2,
|
||||
Code3 = testRunPerformanceStandard.Code3,
|
||||
Type = testRunPerformanceStandard.Type,
|
||||
Item = testRunPerformanceStandard.Item,
|
||||
Unit = testRunPerformanceStandard.Unit,
|
||||
Days = testRunPerformanceStandard.Days
|
||||
};
|
||||
Funs.DB.Base_TestRunPerformanceStandard.InsertOnSubmit(newTestRunPerformanceStandard);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改开车绩效计算标准
|
||||
/// </summary>
|
||||
/// <param name="testRunPerformanceStandard"></param>
|
||||
public static void UpdateTestRunPerformanceStandard(Model.Base_TestRunPerformanceStandard testRunPerformanceStandard)
|
||||
{
|
||||
Model.Base_TestRunPerformanceStandard newTestRunPerformanceStandard = Funs.DB.Base_TestRunPerformanceStandard.FirstOrDefault(e => e.TestRunPerformanceStandardId == testRunPerformanceStandard.TestRunPerformanceStandardId);
|
||||
if (newTestRunPerformanceStandard != null)
|
||||
{
|
||||
newTestRunPerformanceStandard.Code = testRunPerformanceStandard.Code;
|
||||
newTestRunPerformanceStandard.Code1 = testRunPerformanceStandard.Code1;
|
||||
newTestRunPerformanceStandard.Code2 = testRunPerformanceStandard.Code2;
|
||||
newTestRunPerformanceStandard.Code3 = testRunPerformanceStandard.Code3;
|
||||
newTestRunPerformanceStandard.Type = testRunPerformanceStandard.Type;
|
||||
newTestRunPerformanceStandard.Item = testRunPerformanceStandard.Item;
|
||||
newTestRunPerformanceStandard.Unit = testRunPerformanceStandard.Unit;
|
||||
newTestRunPerformanceStandard.Days = testRunPerformanceStandard.Days;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键删除开车绩效计算标准
|
||||
/// </summary>
|
||||
/// <param name="TestRunPerformanceStandardId"></param>
|
||||
public static void DeleteTestRunPerformanceStandardById(string TestRunPerformanceStandardId)
|
||||
{
|
||||
Model.Base_TestRunPerformanceStandard newTestRunPerformanceStandard = Funs.DB.Base_TestRunPerformanceStandard.FirstOrDefault(e => e.TestRunPerformanceStandardId == TestRunPerformanceStandardId);
|
||||
if (newTestRunPerformanceStandard != null)
|
||||
{
|
||||
CommonService.DeleteAttachFileById(TestRunPerformanceStandardId);//删除附件
|
||||
Funs.DB.Base_TestRunPerformanceStandard.DeleteOnSubmit(newTestRunPerformanceStandard);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取开车绩效计算标准下拉列表项
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<Model.Base_TestRunPerformanceStandard> GetTestRunPerformanceStandardList()
|
||||
{
|
||||
return (from x in Funs.DB.Base_TestRunPerformanceStandard orderby x.Code1, x.Code2 select x).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 开车绩效计算标准下拉框
|
||||
/// </summary>
|
||||
/// <param name="dropName">下拉框名字</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="isShowPlease">是否显示请选择</param>
|
||||
public static void InitPerformanceStandardDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
|
||||
{
|
||||
dropName.DataValueField = "TestRunPerformanceStandardId";
|
||||
dropName.DataTextField = "PerformanceStandardName";
|
||||
dropName.DataSource = GetTestRunPerformanceStandardList();
|
||||
dropName.DataBind();
|
||||
if (isShowPlease)
|
||||
{
|
||||
Funs.FineUIPleaseSelect(dropName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4871,6 +4871,11 @@ namespace BLL
|
|||
/// 项目应急物资管理
|
||||
/// </summary>
|
||||
public const string ServerEmergencySupplyMenuId = "3EA741CE-66A6-4CF8-8620-0C5906AC7D94";
|
||||
|
||||
/// <summary>
|
||||
/// 开车绩效评分标准
|
||||
/// </summary>
|
||||
public const string TestRunPerformanceStandardMenuId = "383290E0-60AE-4D16-8B5E-3899B85EC2ED";
|
||||
#endregion
|
||||
|
||||
#region 施工综合流程定义
|
||||
|
|
|
@ -1824,6 +1824,7 @@
|
|||
<Content Include="TestRun\ProduceTestRun\TestRunRecordEdit.aspx" />
|
||||
<Content Include="TestRun\ProduceTestRun\TestRunReport.aspx" />
|
||||
<Content Include="TestRun\ProduceTestRun\TestRunReportEdit.aspx" />
|
||||
<Content Include="TestRun\Report\FourDecisionSchedule.aspx" />
|
||||
<Content Include="TestRun\Report\PreRunSchedule.aspx" />
|
||||
<Content Include="TestRun\Report\ScheduleSetUp.aspx" />
|
||||
<Content Include="TestRun\Report\TestRunSchedule.aspx" />
|
||||
|
@ -2052,6 +2053,8 @@
|
|||
<Content Include="ZHGL\Supervise\SuperviseCheckReport.aspx" />
|
||||
<Content Include="ZHGL\Supervise\SuperviseCheckReportEdit.aspx" />
|
||||
<Content Include="common\font\DIN-Medium.otf" />
|
||||
<Content Include="ZHGL\TestRunPerformance\TestRunPerformanceStandard.aspx" />
|
||||
<Content Include="ZHGL\TestRunPerformance\TestRunPerformanceStandardEdit.aspx" />
|
||||
<None Include="Doc\help1.doc" />
|
||||
<None Include="Doc\危险源因素辨识及评价方法说明.doc" />
|
||||
<None Include="Doc\危险源清单导入说明.doc" />
|
||||
|
@ -16305,6 +16308,13 @@
|
|||
<Compile Include="TestRun\ProduceTestRun\TestRunReportEdit.aspx.designer.cs">
|
||||
<DependentUpon>TestRunReportEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Report\FourDecisionSchedule.aspx.cs">
|
||||
<DependentUpon>FourDecisionSchedule.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Report\FourDecisionSchedule.aspx.designer.cs">
|
||||
<DependentUpon>FourDecisionSchedule.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TestRun\Report\PreRunSchedule.aspx.cs">
|
||||
<DependentUpon>PreRunSchedule.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -17894,6 +17904,20 @@
|
|||
<Compile Include="ZHGL\Supervise\SuperviseCheckReportEdit.aspx.designer.cs">
|
||||
<DependentUpon>SuperviseCheckReportEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ZHGL\TestRunPerformance\TestRunPerformanceStandard.aspx.cs">
|
||||
<DependentUpon>TestRunPerformanceStandard.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ZHGL\TestRunPerformance\TestRunPerformanceStandard.aspx.designer.cs">
|
||||
<DependentUpon>TestRunPerformanceStandard.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ZHGL\TestRunPerformance\TestRunPerformanceStandardEdit.aspx.cs">
|
||||
<DependentUpon>TestRunPerformanceStandardEdit.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ZHGL\TestRunPerformance\TestRunPerformanceStandardEdit.aspx.designer.cs">
|
||||
<DependentUpon>TestRunPerformanceStandardEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="App_Themes\Web.config" />
|
||||
|
|
|
@ -335,10 +335,10 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
|
|||
model.PipingLevel = itemTb.Rows[j][41].ToString();
|
||||
model.NormalTemperature = itemTb.Rows[j][43].ToString();
|
||||
model.NormalPressure = itemTb.Rows[j][45].ToString();
|
||||
model.DesignTemperature = itemTb.Rows[j][46].ToString();
|
||||
model.DesignPressure = itemTb.Rows[j][48].ToString();
|
||||
model.PaintLevel = itemTb.Rows[j][50].ToString();
|
||||
model.Remark = itemTb.Rows[j][53].ToString();
|
||||
model.DesignTemperature = itemTb.Rows[j][47].ToString();
|
||||
model.DesignPressure = itemTb.Rows[j][49].ToString();
|
||||
model.PaintLevel = itemTb.Rows[j][51].ToString();
|
||||
model.Remark = itemTb.Rows[j][54].ToString();
|
||||
model.AddUser = this.CurrUser.UserId;
|
||||
model.AddTime = DateTime.Now;
|
||||
model.Sort = sortnum;
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionSchedule.aspx.cs" Inherits="FineUIPro.Web.TestRun.Report.FourDecisionSchedule" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>子系统工作包管理</title>
|
||||
<style>
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
|
||||
<Items>
|
||||
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
|
||||
EnableCollapse="true" Width="320px" Title="子系统工作包管理" ShowBorder="true" Layout="VBox"
|
||||
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
|
||||
<Items>
|
||||
<f:Tree ID="tvControlItem" ShowHeader="false" Title="子系统工作包管理节点树" OnNodeCommand="tvControlItem_NodeCommand"
|
||||
Height="1000px" runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
|
||||
AutoLeafIdentification="true" EnableSingleExpand="false" EnableTextSelection="true" OnNodeExpand="tvControlItem_NodeExpand">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
||||
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="子系统工作包管理"
|
||||
TitleToolTip="子系统工作包管理" AutoScroll="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
|
||||
<Items>
|
||||
<f:HiddenField runat="server" ID="hdTrustID"></f:HiddenField>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Form ID="SimpleForm1" ShowBorder="true" ShowHeader="false" AutoScroll="true" BodyPadding="10px"
|
||||
runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow runat="server" ID="zxtsc">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridFourDecision" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="Level" DataKeyNames="Level" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnScsdExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScsdExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="级别" ColumnID="Level" DataField="Level" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="子系统名称" ColumnID="SubsystemName" DataField="SubsystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="尾项数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="未关闭尾项数量" ColumnID="NoCloseNum" DataField="NoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已关闭尾项数量" ColumnID="CloseNum" DataField="CloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
// 返回false,来阻止浏览器右键菜单
|
||||
function onRowContextMenu(event, rowId) {
|
||||
return false;
|
||||
}
|
||||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,460 @@
|
|||
using BLL;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Reflection;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.SS.Util;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Report
|
||||
{
|
||||
public partial class FourDecisionSchedule : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 点击树状主键
|
||||
/// </summary>
|
||||
public string TreePreRunId { get { return (string)ViewState["TreePreRunId"]; } set { ViewState["TreePreRunId"] = value; } }
|
||||
/// <summary>
|
||||
/// 子系统主键
|
||||
/// </summary>
|
||||
public List<string> SubSystemIds { get { return (List<string>)ViewState["SubSystemIds"]; } set { ViewState["SubSystemIds"] = value; } }
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if (SubSystemIds == null) SubSystemIds = new List<string>();
|
||||
this.InitTreeMenu();//加载树
|
||||
}
|
||||
}
|
||||
|
||||
#region 加载树
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 加载树
|
||||
/// </summary>
|
||||
private void InitTreeMenu()
|
||||
{
|
||||
this.tvControlItem.Nodes.Clear();
|
||||
TreeNode rootNode = new TreeNode();
|
||||
rootNode.Text = "系统划分";
|
||||
rootNode.NodeID = "0";
|
||||
rootNode.Expanded = true;
|
||||
rootNode.ToolTip = "";
|
||||
rootNode.EnableClickEvent = true;
|
||||
this.tvControlItem.Nodes.Add(rootNode);
|
||||
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
||||
var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 1).OrderBy(x => x.Sort);
|
||||
foreach (var item in onePreRunLs)
|
||||
{
|
||||
TreeNode rootUnitNode = new TreeNode();//定义根节点
|
||||
rootUnitNode.NodeID = item.PreRunId;
|
||||
rootUnitNode.Text = item.PreRunName;
|
||||
rootUnitNode.ToolTip = item.PreRunName;
|
||||
rootUnitNode.CommandName = "";
|
||||
rootUnitNode.EnableClickEvent = true;
|
||||
rootUnitNode.EnableExpandEvent = true;
|
||||
rootNode.Nodes.Add(rootUnitNode);
|
||||
rootUnitNode.Expanded = true;
|
||||
var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
|
||||
this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定树节点
|
||||
/// </summary>
|
||||
private void BindNodes(TreeNode node, List<PreRun_SysDevice> list, string parentId)
|
||||
{
|
||||
|
||||
var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
|
||||
if (itemList.Count > 0)
|
||||
{
|
||||
foreach (var item in itemList)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
newNode.Text = item.PreRunName;
|
||||
newNode.NodeID = item.PreRunId;
|
||||
newNode.ToolTip = item.PreRunName;
|
||||
newNode.CommandName = "";
|
||||
newNode.EnableClickEvent = true;
|
||||
node.Nodes.Add(newNode);
|
||||
BindNodes(newNode, list, item.PreRunId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数加载
|
||||
/// </summary>
|
||||
protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e)
|
||||
{
|
||||
if (e.Node.Nodes != null)
|
||||
{
|
||||
e.Node.Nodes.Clear();
|
||||
}
|
||||
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
||||
this.BindNodes(e.Node, allPreRunLs, e.NodeID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击TreeView
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
var devices = new List<PreRun_SysDevice>();
|
||||
this.TreePreRunId = tvControlItem.SelectedNodeID != "0" ? tvControlItem.SelectedNodeID : string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 4)
|
||||
{
|
||||
this.SubSystemIds = new List<string>() { model.PreRunId };
|
||||
}
|
||||
else if (model.PreRunLevel == 3)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.SystemId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.ProcessesId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
else if (model.PreRunLevel == 1)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.InstallationId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
FourDecisionBrid();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 数据绑定/导出
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定绑定
|
||||
/// </summary>
|
||||
public void FourDecisionBrid()
|
||||
{
|
||||
var result = new List<FourDecisionScheduleBridDto>();
|
||||
if (this.SubSystemIds.Count > 0)
|
||||
{
|
||||
result = GetFourDecisionSchedules();
|
||||
}
|
||||
GridFourDecision.DataSource = result;
|
||||
GridFourDecision.DataBind();
|
||||
JObject summary = new JObject();
|
||||
summary.Add("AllNum", result.Sum(x => x.AllNum));
|
||||
summary.Add("NoCloseNum", result.Sum(x => x.NoCloseNum));
|
||||
summary.Add("CloseNum", result.Sum(x => x.CloseNum));
|
||||
GridFourDecision.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导出
|
||||
/// </summary>
|
||||
protected void btnScsdExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "三查四定进度.xlsx";
|
||||
|
||||
var result = GetFourDecisionSchedules();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("三查四定进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
ws.SetColumnWidth(4, (20 * 256));
|
||||
ws.SetColumnWidth(5, (20 * 256));
|
||||
ws.SetColumnWidth(6, (20 * 256));
|
||||
ws.SetColumnWidth(7, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 7);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("级别");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("装置名称");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("工序名称");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("系统名称");
|
||||
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(4).SetCellValue("子系统名称");
|
||||
ws.GetRow(0).GetCell(5).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(5).SetCellValue("尾项数量");
|
||||
ws.GetRow(0).GetCell(6).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(6).SetCellValue("未关闭尾项数量");
|
||||
ws.GetRow(0).GetCell(7).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(7).SetCellValue("已关闭尾项数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 7);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.Level);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.InstallationName);
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProcessesName);
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.SystemName);
|
||||
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.SubsystemName);
|
||||
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.AllNum);
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.NoCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.CloseNum);
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 7);
|
||||
var region = new CellRangeAddress(end + 1, end + 1, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.NoCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.CloseNum).ToString() : "0");
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("三查四定进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 私有方法
|
||||
|
||||
/// <summary>
|
||||
/// 创建头部
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
|
||||
{
|
||||
for (int i = sRows; i <= eRows; i++)
|
||||
{
|
||||
ws.CreateRow(i);
|
||||
ws.GetRow(i).HeightInPoints = height;
|
||||
for (int j = cStart; j <= cEnd; j++)
|
||||
{
|
||||
ws.GetRow(i).CreateCell(j);
|
||||
ws.GetRow(i).CreateCell(j).CellStyle = style;
|
||||
}
|
||||
}
|
||||
return ws;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建样式
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
|
||||
{
|
||||
ICellStyle style = wb.CreateCellStyle();
|
||||
style.BorderBottom = Bottom;
|
||||
style.BorderLeft = Left;
|
||||
style.BorderRight = Right;
|
||||
style.BorderTop = Top;
|
||||
style.VerticalAlignment = VerAig;
|
||||
style.Alignment = HorAig;
|
||||
IFont font = wb.CreateFont();
|
||||
font.FontHeightInPoints = FontSize;
|
||||
font.IsBold = Bold;
|
||||
font.FontName = FontName;
|
||||
style.SetFont(font);
|
||||
style.WrapText = WrapText;
|
||||
return style;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取三查四定统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private List<FourDecisionScheduleBridDto> GetFourDecisionSchedules()
|
||||
{
|
||||
var list = new List<FourDecisionScheduleBridDto>();
|
||||
string allStr = $"select Level,COUNT(1) as AllNum,SUM(case ISNULL(a.DecisionIsClose,0) when 0 then 1 else 0 end) as NoCloseNum,SUM(case ISNULL(a.DecisionIsClose,0) when 1 then 1 else 0 end) as CloseNum from PreRun_SubThreeChecksFourDecision as a where a.SubSystemId in ('{string.Join("','", this.SubSystemIds)}') and a.ProjectId='{this.CurrUser.LoginProjectId}' group by a.Level order by a.Level asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
string deviceStr = $"select b.PreRunName as InstallationName,c.PreRunName as ProcessesName,d.PreRunName as SystemName,e.PreRunName as SubsystemName from PreRun_SysDevice as a left join PreRun_SysDevice as b on b.PreRunId=ISNULL(a.InstallationId,a.PreRunId) left join PreRun_SysDevice as c on c.PreRunId=a.ProcessesId left join PreRun_SysDevice as d on d.PreRunId=a.SystemId left join PreRun_SysDevice as e on e.PreRunId=a.SubsystemId where a.PreRunId='{this.TreePreRunId}'";
|
||||
var driveDt = SQLHelper.GetDataTableRunText(deviceStr);
|
||||
|
||||
list = DataTableToList<FourDecisionScheduleBridDto>(dt);
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (driveDt.Rows.Count > 0)
|
||||
{
|
||||
item.InstallationName = driveDt.Rows[0]["InstallationName"].ToString();
|
||||
item.ProcessesName = driveDt.Rows[0]["ProcessesName"].ToString();
|
||||
item.SystemName = driveDt.Rows[0]["SystemName"].ToString();
|
||||
item.SubsystemName = driveDt.Rows[0]["SubsystemName"].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定统计实体
|
||||
/// </summary>
|
||||
public class FourDecisionScheduleBridDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 级别
|
||||
/// </summary>
|
||||
public string Level { get; set; }
|
||||
/// <summary>
|
||||
/// 装置名称
|
||||
/// </summary>
|
||||
public string InstallationName { get; set; }
|
||||
/// <summary>
|
||||
/// 工序名称
|
||||
/// </summary>
|
||||
public string ProcessesName { get; set; }
|
||||
/// <summary>
|
||||
/// 系统名称
|
||||
/// </summary>
|
||||
public string SystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 子系统名称
|
||||
/// </summary>
|
||||
public string SubsystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 尾项数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭尾项数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭尾项数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 转换
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转换List
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<T> DataTableToList<T>(DataTable table)
|
||||
{
|
||||
List<T> list = new List<T>();
|
||||
T t = default(T);
|
||||
PropertyInfo[] propertypes = null;
|
||||
string tempName = string.Empty;
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
t = Activator.CreateInstance<T>();
|
||||
propertypes = t.GetType().GetProperties();
|
||||
foreach (PropertyInfo pro in propertypes)
|
||||
{
|
||||
tempName = pro.Name;
|
||||
if (table.Columns.Contains(tempName))
|
||||
{
|
||||
object value = row[tempName];
|
||||
if (!value.ToString().Equals(""))
|
||||
{
|
||||
pro.SetValue(t, value, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.Add(t);
|
||||
}
|
||||
return list.Count == 0 ? new List<T>() : list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,143 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Report
|
||||
{
|
||||
|
||||
|
||||
public partial class FourDecisionSchedule
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// panelLeftRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelLeftRegion;
|
||||
|
||||
/// <summary>
|
||||
/// tvControlItem 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvControlItem;
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// hdTrustID 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdTrustID;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// zxtsc 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.FormRow zxtsc;
|
||||
|
||||
/// <summary>
|
||||
/// GridFourDecision 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid GridFourDecision;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar3;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnScsdExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScsdExport;
|
||||
}
|
||||
}
|
|
@ -44,84 +44,46 @@
|
|||
<Rows>
|
||||
<f:FormRow runat="server" ID="zxtsc">
|
||||
<Items>
|
||||
<f:TabStrip ID="TabStrip1" IsFluid="true"
|
||||
AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged"
|
||||
ShowBorder="true" ActiveTabIndex="1" runat="server">
|
||||
<Tabs>
|
||||
<f:Tab Title="预试车进度" BodyPadding="10px" Layout="Fit" runat="server">
|
||||
<f:Grid Height="550px" ID="GridPreRun" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="WorkPackId" DataKeyNames="WorkPackId" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridPreRun" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="WorkPackId" DataKeyNames="WorkPackId" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkName" DataField="WorkName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="子系统名称" ColumnID="SubsystemName" DataField="SubsystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="未关闭任务单数量" ColumnID="NoCloseNum" DataField="NoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已关闭任务单数量" ColumnID="CloseNum" DataField="CloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnYscExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnYscExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
|
||||
<f:Tab Title="三查四定进度" BodyPadding="10px" Layout="Fit" runat="server">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridFourDecision" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="PreRunId" DataKeyNames="PreRunId" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="子系统名称" ColumnID="SubsystemName" DataField="SubsystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="未关闭任务单数量" ColumnID="NoCloseNum" DataField="NoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已关闭任务单数量" ColumnID="CloseNum" DataField="CloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="子系统名称" ColumnID="SubsystemName" DataField="SubsystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包数量" ColumnID="WorkPackNum" DataField="WorkPackNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包未关闭数量" ColumnID="WorkPackNoCloseNum" DataField="WorkPackNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包已关闭数量" ColumnID="WorkPackCloseNum" DataField="WorkPackCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检查表数量" ColumnID="InspectNum" DataField="InspectNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检查表未关闭数量" ColumnID="InspectNoCloseNum" DataField="InspectNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检查表已关闭数量" ColumnID="InspectCloseNum" DataField="InspectCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</Items>
|
||||
|
|
|
@ -1,14 +1,23 @@
|
|||
using Aspose.Words.Lists;
|
||||
using BLL;
|
||||
using FineUIPro.Web.DataShow;
|
||||
using Model;
|
||||
using System;
|
||||
using System.ArrayExtensions;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WIA;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.SS.Util;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.Drawing;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Report
|
||||
{
|
||||
|
@ -21,14 +30,14 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// <summary>
|
||||
/// 子系统主键
|
||||
/// </summary>
|
||||
public string SsubSystemId { get { return (string)ViewState["SsubSystemId"]; } set { ViewState["SsubSystemId"] = value; } }
|
||||
public List<string> SubSystemIds { get { return (List<string>)ViewState["SubSystemIds"]; } set { ViewState["SubSystemIds"] = value; } }
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if (SubSystemIds == null) SubSystemIds = new List<string>();
|
||||
this.InitTreeMenu();//加载树
|
||||
TabStrip1.ActiveTabIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,146 +117,214 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
var devices = new List<PreRun_SysDevice>();
|
||||
this.TreePreRunId = tvControlItem.SelectedNodeID != "0" ? tvControlItem.SelectedNodeID : string.Empty;
|
||||
if (TabStrip1.ActiveTabIndex == 0)
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
{
|
||||
PreRunBrid();
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 4)
|
||||
{
|
||||
this.SubSystemIds = new List<string>() { model.PreRunId };
|
||||
}
|
||||
else if (model.PreRunLevel == 3)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.SystemId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.ProcessesId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
else if (model.PreRunLevel == 1)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4 && x.InstallationId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (TabStrip1.ActiveTabIndex == 1)
|
||||
else
|
||||
{
|
||||
FourDecisionBrid();
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
PreRunBrid();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 数据绑定
|
||||
#region 数据绑定/导出
|
||||
|
||||
/// <summary>
|
||||
/// 预试车绑定
|
||||
/// </summary>
|
||||
public void PreRunBrid()
|
||||
{
|
||||
var result = new List<ScheduleBridDto>();
|
||||
string strSql = "select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose,0) when 1 then 1 else 0 end) as ygbnum,SUM(case ISNULL(a.InspectIsClose,0) when 0 then 1 else 0 end) as wgbnum,COUNT(1) as allnum from PreRun_SubInspectTerm as a inner join PreRun_WorkPackage as b on a.WorkPackId=b.WorkPackId where 1=1 and a.ProjectId=@ProjectId ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
string installationName = "-";
|
||||
string processesName = "-";
|
||||
string systemName = "-";
|
||||
string subsystemName = "-";
|
||||
string columnames = string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
var result = new List<PreRunScheduleDto>();
|
||||
if (this.SubSystemIds.Count > 0)
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 1)
|
||||
{
|
||||
installationName = model.PreRunName;
|
||||
columnames = "a.InstallationId";
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
processesName = model.PreRunName;
|
||||
columnames = "a.ProcessesId";
|
||||
}
|
||||
else if (model.PreRunLevel == 3)
|
||||
{
|
||||
systemName = model.PreRunName;
|
||||
columnames = "a.SystemId";
|
||||
}
|
||||
else if (model.PreRunLevel == 4)
|
||||
{
|
||||
subsystemName = model.PreRunName;
|
||||
columnames = "a.SubsystemId";
|
||||
}
|
||||
strSql += $"and {columnames}='{model.PreRunId}'";
|
||||
}
|
||||
strSql += "group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
var dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (dt != null)
|
||||
{
|
||||
foreach (DataRow item in dt.Rows)
|
||||
{
|
||||
result.Add(new ScheduleBridDto()
|
||||
{
|
||||
WorkPackId = item["WorkPackId"].ToString(),
|
||||
WorkName = item["WorkPackName"].ToString(),
|
||||
InstallationName = installationName,
|
||||
ProcessesName = processesName,
|
||||
SystemName = systemName,
|
||||
SubsystemName = subsystemName,
|
||||
AllNum = item["allnum"].ToString(),
|
||||
NoCloseNum = item["wgbnum"].ToString(),
|
||||
CloseNum = item["ygbnum"].ToString()
|
||||
});
|
||||
}
|
||||
result = GetPreRunSchedules();
|
||||
}
|
||||
GridPreRun.DataSource = result;
|
||||
GridPreRun.DataBind();
|
||||
JObject summary = new JObject();
|
||||
summary.Add("WorkPackNum", result.Sum(x => x.WorkPackNum));
|
||||
summary.Add("WorkPackNoCloseNum", result.Sum(x => x.WorkPackNoCloseNum));
|
||||
summary.Add("WorkPackCloseNum", result.Sum(x => x.WorkPackCloseNum));
|
||||
summary.Add("InspectNum", result.Sum(x => x.InspectNum));
|
||||
summary.Add("InspectNoCloseNum", result.Sum(x => x.InspectNoCloseNum));
|
||||
summary.Add("InspectCloseNum", result.Sum(x => x.InspectCloseNum));
|
||||
GridPreRun.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定绑定
|
||||
/// 导出
|
||||
/// </summary>
|
||||
public void FourDecisionBrid()
|
||||
protected void btnYscExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
var result = new List<ScheduleBridDto>();
|
||||
string strSql = "select b.PreRunId,b.InstallationId,b.ProcessesId,b.SystemId,b.SubsystemId,b.Sort,SUM(case ISNULL(a.DecisionIsClose,0) when 1 then 1 else 0 end) as ygbnum,SUM(case ISNULL(a.DecisionIsClose,0) when 0 then 1 else 0 end) as wgbnum,COUNT(1) as allnum from PreRun_SubThreeChecksFourDecision as a inner join PreRun_SysDevice as b on a.SubSystemId=b.PreRunId where 1=1 and a.ProjectId=@ProjectId ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
string installationName = "-";
|
||||
string processesName = "-";
|
||||
string systemName = "-";
|
||||
string subsystemName = "-";
|
||||
string columnames = string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 1)
|
||||
{
|
||||
installationName = model.PreRunName;
|
||||
columnames = "b.InstallationId";
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
processesName = model.PreRunName;
|
||||
columnames = "b.ProcessesId";
|
||||
}
|
||||
else if (model.PreRunLevel == 3)
|
||||
{
|
||||
systemName = model.PreRunName;
|
||||
columnames = "b.SystemId";
|
||||
}
|
||||
else if (model.PreRunLevel == 4)
|
||||
{
|
||||
subsystemName = model.PreRunName;
|
||||
columnames = "b.SubsystemId";
|
||||
}
|
||||
strSql += $"and {columnames}='{model.PreRunId}'";
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
strSql += "group by b.PreRunId,b.InstallationId,b.ProcessesId,b.SystemId,b.SubsystemId,b.Sort order by b.Sort asc";
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
var dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (dt != null)
|
||||
string ReportFileName = filePath + "预试车进度.xlsx";
|
||||
|
||||
var result = GetPreRunSchedules();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
foreach (DataRow item in dt.Rows)
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("预试车进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
ws.SetColumnWidth(4, (20 * 256));
|
||||
ws.SetColumnWidth(5, (20 * 256));
|
||||
ws.SetColumnWidth(6, (20 * 256));
|
||||
ws.SetColumnWidth(7, (20 * 256));
|
||||
ws.SetColumnWidth(8, (20 * 256));
|
||||
ws.SetColumnWidth(9, (20 * 256));
|
||||
ws.SetColumnWidth(10, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 10);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("装置名称");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("工序名称");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("系统名称");
|
||||
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(4).SetCellValue("子系统名称");
|
||||
ws.GetRow(0).GetCell(5).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(5).SetCellValue("工作包数量");
|
||||
ws.GetRow(0).GetCell(6).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(6).SetCellValue("工作包未关闭数量");
|
||||
ws.GetRow(0).GetCell(7).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(7).SetCellValue("工作包已关闭数量");
|
||||
ws.GetRow(0).GetCell(8).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(8).SetCellValue("检查表数量");
|
||||
ws.GetRow(0).GetCell(9).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(9).SetCellValue("检查表未关闭数量");
|
||||
ws.GetRow(0).GetCell(10).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(10).SetCellValue("检查表已关闭数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 10);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
result.Add(new ScheduleBridDto()
|
||||
{
|
||||
PreRunId = item["PreRunId"].ToString(),
|
||||
InstallationName = installationName,
|
||||
ProcessesName = processesName,
|
||||
SystemName = systemName,
|
||||
SubsystemName = subsystemName,
|
||||
AllNum = item["allnum"].ToString(),
|
||||
NoCloseNum = item["wgbnum"].ToString(),
|
||||
CloseNum = item["ygbnum"].ToString()
|
||||
});
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.InstallationName);
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProcessesName);
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.SystemName);
|
||||
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.SubsystemName);
|
||||
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.WorkPackNum);
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackNoCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.WorkPackCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.InspectNum);
|
||||
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectNoCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(10).SetCellValue(item.InspectCloseNum);
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 10);
|
||||
var region = new CellRangeAddress(end + 1, end + 1, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(10).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("预试车进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
GridFourDecision.DataSource = result;
|
||||
GridFourDecision.DataBind();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -255,18 +332,146 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
#region 私有方法
|
||||
|
||||
/// <summary>
|
||||
/// 点击tab
|
||||
/// 创建头部
|
||||
/// </summary>
|
||||
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
|
||||
/// <returns></returns>
|
||||
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
|
||||
{
|
||||
if (TabStrip1.ActiveTabIndex == 0)
|
||||
for (int i = sRows; i <= eRows; i++)
|
||||
{
|
||||
PreRunBrid();
|
||||
ws.CreateRow(i);
|
||||
ws.GetRow(i).HeightInPoints = height;
|
||||
for (int j = cStart; j <= cEnd; j++)
|
||||
{
|
||||
ws.GetRow(i).CreateCell(j);
|
||||
ws.GetRow(i).CreateCell(j).CellStyle = style;
|
||||
}
|
||||
}
|
||||
else if (TabStrip1.ActiveTabIndex == 1)
|
||||
return ws;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建样式
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
|
||||
{
|
||||
ICellStyle style = wb.CreateCellStyle();
|
||||
style.BorderBottom = Bottom;
|
||||
style.BorderLeft = Left;
|
||||
style.BorderRight = Right;
|
||||
style.BorderTop = Top;
|
||||
style.VerticalAlignment = VerAig;
|
||||
style.Alignment = HorAig;
|
||||
IFont font = wb.CreateFont();
|
||||
font.FontHeightInPoints = FontSize;
|
||||
font.IsBold = Bold;
|
||||
font.FontName = FontName;
|
||||
style.SetFont(font);
|
||||
style.WrapText = WrapText;
|
||||
return style;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取预试车统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private List<PreRunScheduleDto> GetPreRunSchedules()
|
||||
{
|
||||
string allStr = $"select a.SubSystemId,a.SystemId,b.WorkPackId,b.WorkPackName,b.WorkPackType,(select count(1) from PreRun_SubPropertySelect as gd where gd.SubSystemId = a.SubSystemId) as GdallNum,(select count(1) from PreRun_SubTechnologySelect as sb where sb.SubSystemId = a.SubSystemId) as SballNum,(select count(1) from PreRun_SubInstrumentSelect as sy where sy.SubSystemId = a.SubSystemId) as SyallNum from PreRun_SubSysWorkPackage as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SubSystemId in ('{string.Join("','", this.SubSystemIds)}') order by a.WorkPackCode asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
|
||||
var list = new List<PreRunScheduleDto>();
|
||||
string deviceStr = $"select b.PreRunName as InstallationName,c.PreRunName as ProcessesName,d.PreRunName as SystemName,e.PreRunName as SubsystemName from PreRun_SysDevice as a left join PreRun_SysDevice as b on b.PreRunId=ISNULL(a.InstallationId,a.PreRunId) left join PreRun_SysDevice as c on c.PreRunId=a.ProcessesId left join PreRun_SysDevice as d on d.PreRunId=a.SystemId left join PreRun_SysDevice as e on e.PreRunId=a.SubsystemId where a.PreRunId='{this.TreePreRunId}'";
|
||||
var driveDt = SQLHelper.GetDataTableRunText(deviceStr);
|
||||
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from PreRun_SubInspectTerm as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.SubSystemId in ('{string.Join("','", this.SubSystemIds)}') group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
FourDecisionBrid();
|
||||
//获取所有子系统数量
|
||||
var inspects = Funs.DB.PreRun_SubInspectTerm.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && this.SubSystemIds.Contains(x.SubSystemId));
|
||||
var querylist = DataTableToList<QuerySubSysWorkPackage>(dt);
|
||||
var queryGroup = querylist.GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackType }).Select(p => new
|
||||
{
|
||||
p.Key.WorkPackId,
|
||||
p.Key.WorkPackName,
|
||||
p.Key.WorkPackType,
|
||||
GdallNum = p.Sum(i => i.GdallNum),
|
||||
SballNum = p.Sum(i => i.SballNum),
|
||||
SyallNum = p.Sum(i => i.SyallNum)
|
||||
});
|
||||
foreach (var itemPack in queryGroup)
|
||||
{
|
||||
var itemQueryList = querylist.Where(x => x.WorkPackId == itemPack.WorkPackId).ToList();
|
||||
var model = new PreRunScheduleDto();
|
||||
model.WorkPackId = itemPack.WorkPackId;
|
||||
model.WorkPackName = itemPack.WorkPackName;
|
||||
model.WorkPackType = itemPack.WorkPackType;
|
||||
if (driveDt.Rows.Count > 0)
|
||||
{
|
||||
model.InstallationName = driveDt.Rows[0]["InstallationName"].ToString();
|
||||
model.ProcessesName = driveDt.Rows[0]["ProcessesName"].ToString();
|
||||
model.SystemName = driveDt.Rows[0]["SystemName"].ToString();
|
||||
model.SubsystemName = driveDt.Rows[0]["SubsystemName"].ToString();
|
||||
}
|
||||
model.GdallNum = itemPack.GdallNum;
|
||||
model.SballNum = itemPack.SballNum;
|
||||
model.SyallNum = itemPack.SyallNum;
|
||||
model.AllGdSbYbNum = (itemPack.GdallNum + itemPack.SballNum + itemPack.SyallNum);
|
||||
model.WorkPackNum = itemQueryList.Count(x => x.WorkPackId == itemPack.WorkPackId);
|
||||
if (inspectlist.Count(a => a.WorkPackId == itemPack.WorkPackId) > 0)
|
||||
{
|
||||
var itemInspect = inspectlist.FirstOrDefault(a => a.WorkPackId == itemPack.WorkPackId);
|
||||
model.InspectNum = itemInspect.AllNum;
|
||||
model.InspectNoCloseNum = itemInspect.NoCloseNum;
|
||||
model.InspectCloseNum = itemInspect.CloseNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
model.WorkPackCloseNum = 0;
|
||||
model.WorkPackNoCloseNum = model.WorkPackNum;
|
||||
model.InspectNum = 0;
|
||||
model.InspectNoCloseNum = 0;
|
||||
model.InspectCloseNum = 0;
|
||||
}
|
||||
model.WorkPackCloseNum = 0;
|
||||
model.WorkPackNoCloseNum = 0;
|
||||
var subsystemids = itemQueryList.ConvertAll(a => a.SubSystemId).Distinct();
|
||||
foreach (var itemsubid in subsystemids)
|
||||
{
|
||||
if (inspects.Count(x => x.SubSystemId == itemsubid) > 0)
|
||||
{
|
||||
var itemQuerylist = itemQueryList.FirstOrDefault(x => x.SubSystemId == itemsubid && x.WorkPackId == itemPack.WorkPackId);
|
||||
var allNum = itemQuerylist.GdallNum + itemQuerylist.SballNum + itemQuerylist.SyallNum;
|
||||
if (inspects.Count(x => x.SubInspectId == itemsubid && x.InspectIsClose != 1) > 0)
|
||||
{
|
||||
model.WorkPackNoCloseNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var closeInspect = inspects.Where(x => x.SubInspectId == itemsubid && x.InspectIsClose == 1);
|
||||
var closeNums = closeInspect.Count() > 0 ? closeInspect.Select(x => x.PropertyTechnologyId.Split(',').Count()).Sum(x => x) : 0;
|
||||
if (allNum > closeNums)
|
||||
{
|
||||
model.WorkPackNoCloseNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
model.WorkPackCloseNum += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
model.WorkPackNoCloseNum += 1;
|
||||
}
|
||||
}
|
||||
list.Add(model);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -316,6 +521,186 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
public string CloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 预试车统计实体
|
||||
/// </summary>
|
||||
public class PreRunScheduleDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包类型
|
||||
/// </summary>
|
||||
public int WorkPackType { get; set; }
|
||||
/// <summary>
|
||||
/// 装置名称
|
||||
/// </summary>
|
||||
public string InstallationName { get; set; }
|
||||
/// <summary>
|
||||
/// 工序名称
|
||||
/// </summary>
|
||||
public string ProcessesName { get; set; }
|
||||
/// <summary>
|
||||
/// 系统名称
|
||||
/// </summary>
|
||||
public string SystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 子系统名称
|
||||
/// </summary>
|
||||
public string SubsystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 所有管道,设备,仪表索引数量
|
||||
/// </summary>
|
||||
public int AllGdSbYbNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包所有管道数量
|
||||
/// </summary>
|
||||
public int GdallNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包所有设备数量
|
||||
/// </summary>
|
||||
public int SballNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包所有仪表索引数量
|
||||
/// </summary>
|
||||
public int SyallNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包数量
|
||||
/// </summary>
|
||||
public int WorkPackNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包未关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包已关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int InspectNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表未关闭数量
|
||||
/// </summary>
|
||||
public int InspectNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表已关闭数量
|
||||
/// </summary>
|
||||
public int InspectCloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 预试车检查表实体
|
||||
/// </summary>
|
||||
public class WorkPackageInspectDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 子系统主键
|
||||
/// </summary>
|
||||
public string SubSystemId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭任务单数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭任务单数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 子系统工作包和总设备/管道/仪表数量
|
||||
/// </summary>
|
||||
public class QuerySubSysWorkPackage
|
||||
{
|
||||
/// <summary>
|
||||
/// 子系统主键
|
||||
/// </summary>
|
||||
public string SubSystemId { get; set; }
|
||||
/// <summary>
|
||||
/// 系统主键
|
||||
/// </summary>
|
||||
public string SystemId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包类型
|
||||
/// </summary>
|
||||
public int WorkPackType { get; set; }
|
||||
/// <summary>
|
||||
/// 管道总数量
|
||||
/// </summary>
|
||||
public int GdallNum { get; set; }
|
||||
/// <summary>
|
||||
/// 设备总数量
|
||||
/// </summary>
|
||||
public int SballNum { get; set; }
|
||||
/// <summary>
|
||||
/// 仪表索引总数量
|
||||
/// </summary>
|
||||
public int SyallNum { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 转换
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转换List
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<T> DataTableToList<T>(DataTable table)
|
||||
{
|
||||
List<T> list = new List<T>();
|
||||
T t = default(T);
|
||||
PropertyInfo[] propertypes = null;
|
||||
string tempName = string.Empty;
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
t = Activator.CreateInstance<T>();
|
||||
propertypes = t.GetType().GetProperties();
|
||||
foreach (PropertyInfo pro in propertypes)
|
||||
{
|
||||
tempName = pro.Name;
|
||||
if (table.Columns.Contains(tempName))
|
||||
{
|
||||
object value = row[tempName];
|
||||
if (!value.ToString().Equals(""))
|
||||
{
|
||||
pro.SetValue(t, value, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.Add(t);
|
||||
}
|
||||
return list.Count == 0 ? new List<T>() : list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
|
|
@ -104,15 +104,6 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.FormRow zxtsc;
|
||||
|
||||
/// <summary>
|
||||
/// TabStrip1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TabStrip TabStrip1;
|
||||
|
||||
/// <summary>
|
||||
/// GridPreRun 控件。
|
||||
/// </summary>
|
||||
|
@ -141,30 +132,12 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
protected global::FineUIPro.ToolbarFill ToolbarFill;
|
||||
|
||||
/// <summary>
|
||||
/// GridFourDecision 控件。
|
||||
/// btnYscExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid GridFourDecision;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar3;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
protected global::FineUIPro.Button btnYscExport;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,12 +38,14 @@
|
|||
<Tabs>
|
||||
<f:Tab Title="预试车数据设置" BodyPadding="10px" Layout="Fit" runat="server">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridYsc" ShowBorder="true" ClicksToEdit="1" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true">
|
||||
<f:Grid Height="550px" ID="GridYsc" ShowBorder="true" ClicksToEdit="1" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnYscReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnYscReset_Click"></f:Button>
|
||||
<f:Button ID="btnYscSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnYscSave_Click"></f:Button>
|
||||
<f:Button ID="btnYscSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isYscValid()){return false;}" OnClick="btnYscSave_Click"></f:Button>
|
||||
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnYscExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnYscExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
|
@ -51,24 +53,25 @@
|
|||
<f:RowNumberField EnablePagingNumber="true" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum"></f:NumberBox>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum" Required="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum"></f:NumberBox>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum" Required="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtCompleteNum"></f:NumberBox>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtCompleteNum" Required="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
<f:Listener Event="afteredit" Handler="onGridYscAfterEdit" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
|
@ -76,12 +79,14 @@
|
|||
|
||||
<f:Tab Title="试车数据设置" BodyPadding="10px" runat="server">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridSc" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true">
|
||||
<f:Grid Height="550px" ID="GridSc" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnScReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnScReset_Click"></f:Button>
|
||||
<f:Button ID="btnScSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnScSave_Click"></f:Button>
|
||||
<f:Button ID="btnScSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isScValid()){return false;}" OnClick="btnScSave_Click"></f:Button>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnScExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
|
@ -89,17 +94,17 @@
|
|||
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum1"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum1"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="txtCompleteNum1"></f:NumberBox>
|
||||
</Editor>
|
||||
|
@ -107,11 +112,55 @@
|
|||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
<f:Listener Event="afteredit" Handler="onGridScAfterEdit" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
|
||||
|
||||
<f:Tab Title="三查四定进度" BodyPadding="10px" runat="server">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridScsd" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,LevelName" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar4" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnScsdReset" Text="重置" ToolTip="重置" ConfirmText="重置后数据会全部被清空,是否确认?" Icon="Reload" runat="server" OnClick="btnScsdReset_Click"></f:Button>
|
||||
<f:Button ID="btnScsdSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isScsdValid()){return false;}" OnClick="btnScsdSave_Click"></f:Button>
|
||||
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnScsdExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScsdExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="类别名称" ColumnID="LevelName" DataField="LevelName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="全部数量" ColumnID="AllNum" DataField="AllNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox1"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox2"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成数量" ColumnID="CompleteNum" DataField="CompleteNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
<Editor>
|
||||
<f:NumberBox NoNegative="true" runat="server" ID="NumberBox3"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
<f:Listener Event="afteredit" Handler="onGridScsdAfterEdit" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
|
||||
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</Items>
|
||||
|
@ -131,6 +180,138 @@
|
|||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
|
||||
//预试车验证
|
||||
function isYscValid() {
|
||||
var gridysc = F('<%= GridYsc.ClientID %>');
|
||||
var valid = true, modifiedData = gridysc.getMergedData();//gridysc.getModifiedData();
|
||||
|
||||
$.each(modifiedData, function (index, rowData) {
|
||||
var allNum = parseInt(rowData.values['AllNum']);
|
||||
var progressNum = parseInt(rowData.values['ProgressNum']);
|
||||
var completeNum = parseInt(rowData.values['CompleteNum']);
|
||||
var workPackName = rowData.values['WorkPackName'];
|
||||
if (allNum != (progressNum + completeNum)) {
|
||||
F.alert({
|
||||
message: '工作包(' + workPackName + ')全部数量不等于进行中数量加已完成数量!',
|
||||
ok: function () {
|
||||
grid1.startEdit(rowData.id, 'AllNum');
|
||||
}
|
||||
});
|
||||
|
||||
valid = false;
|
||||
|
||||
return false; // break
|
||||
}
|
||||
});
|
||||
return valid;
|
||||
}
|
||||
//预试车合计
|
||||
function onGridYscAfterEdit(event, value, params) {
|
||||
var me = F('<%= GridYsc.ClientID %>');
|
||||
var allNumTotal = 0;
|
||||
var progressNumTotal = 0;
|
||||
var completeNumTotal = 0;
|
||||
me.getRowEls().each(function (index, tr) {
|
||||
debugger;
|
||||
allNumTotal += me.getCellValue(tr, 'AllNum');
|
||||
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
|
||||
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
|
||||
});
|
||||
// 第三个参数 true,强制更新,不显示左上角的更改标识
|
||||
me.updateSummaryCellValue('AllNum', allNumTotal, true);
|
||||
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
|
||||
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
|
||||
}
|
||||
|
||||
//试车验证
|
||||
function isScValid() {
|
||||
var gridSc = F('<%= GridSc.ClientID %>');
|
||||
var valid = true, modifiedData = gridSc.getMergedData();
|
||||
|
||||
$.each(modifiedData, function (index, rowData) {
|
||||
var allNum = parseInt(rowData.values['AllNum']);
|
||||
var progressNum = parseInt(rowData.values['ProgressNum']);
|
||||
var completeNum = parseInt(rowData.values['CompleteNum']);
|
||||
var workPackName = rowData.values['WorkPackName'];
|
||||
if (allNum != (progressNum + completeNum)) {
|
||||
F.alert({
|
||||
message: '工作包(' + workPackName + ')全部数量不等于进行中数量加已完成数量!',
|
||||
ok: function () {
|
||||
grid1.startEdit(rowData.id, 'AllNum');
|
||||
}
|
||||
});
|
||||
|
||||
valid = false;
|
||||
|
||||
return false; // break
|
||||
}
|
||||
});
|
||||
return valid;
|
||||
}
|
||||
|
||||
//试车合计
|
||||
function onGridScAfterEdit(event, value, params) {
|
||||
var me = F('<%= GridSc.ClientID %>');
|
||||
var allNumTotal = 0;
|
||||
var progressNumTotal = 0;
|
||||
var completeNumTotal = 0;
|
||||
me.getRowEls().each(function (index, tr) {
|
||||
debugger;
|
||||
allNumTotal += me.getCellValue(tr, 'AllNum');
|
||||
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
|
||||
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
|
||||
});
|
||||
// 第三个参数 true,强制更新,不显示左上角的更改标识
|
||||
me.updateSummaryCellValue('AllNum', allNumTotal, true);
|
||||
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
|
||||
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
|
||||
}
|
||||
|
||||
//三查四定验证
|
||||
function isScsdValid() {
|
||||
var gridyScsd = F('<%= GridScsd.ClientID %>');
|
||||
var valid = true, modifiedData = gridyScsd.getMergedData();
|
||||
|
||||
$.each(modifiedData, function (index, rowData) {
|
||||
var allNum = parseInt(rowData.values['AllNum']);
|
||||
var progressNum = parseInt(rowData.values['ProgressNum']);
|
||||
var completeNum = parseInt(rowData.values['CompleteNum']);
|
||||
var levelName = rowData.values['LevelName'];
|
||||
if (allNum != (progressNum + completeNum)) {
|
||||
F.alert({
|
||||
message: '类别(' + levelName + ')全部数量不等于进行中数量加已完成数量!',
|
||||
ok: function () {
|
||||
grid1.startEdit(rowData.id, 'AllNum');
|
||||
}
|
||||
});
|
||||
|
||||
valid = false;
|
||||
|
||||
return false; // break
|
||||
}
|
||||
});
|
||||
return valid;
|
||||
}
|
||||
//三查四定合计
|
||||
function onGridScsdAfterEdit(event, value, params) {
|
||||
var me = F('<%= GridScsd.ClientID %>');
|
||||
var allNumTotal = 0;
|
||||
var progressNumTotal = 0;
|
||||
var completeNumTotal = 0;
|
||||
me.getRowEls().each(function (index, tr) {
|
||||
debugger;
|
||||
allNumTotal += me.getCellValue(tr, 'AllNum');
|
||||
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
|
||||
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
|
||||
});
|
||||
// 第三个参数 true,强制更新,不显示左上角的更改标识
|
||||
me.updateSummaryCellValue('AllNum', allNumTotal, true);
|
||||
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
|
||||
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -6,7 +6,6 @@ using System.Data;
|
|||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using Model;
|
||||
using System.Collections;
|
||||
using Apache.NMS.ActiveMQ.Threads;
|
||||
|
@ -14,6 +13,14 @@ using FineUIPro.Web.DataShow;
|
|||
using Newtonsoft.Json.Linq;
|
||||
using Aspose.Words.Lists;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
using static FineUIPro.Web.TestRun.Report.PreRunSchedule;
|
||||
using System.Reflection;
|
||||
using static FineUIPro.Web.TestRun.Report.TestRunSchedule;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.SS.Util;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.IO;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Report
|
||||
{
|
||||
|
@ -35,6 +42,25 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </summary>
|
||||
public void DataBridYsc()
|
||||
{
|
||||
var result = YscData();
|
||||
GridYsc.DataSource = result;
|
||||
TabStrip1.ActiveTabIndex = 0;
|
||||
GridYsc.DataBind();
|
||||
JObject summary = new JObject();
|
||||
summary.Add("AllNum", result.Sum(x => x.AllNum));
|
||||
summary.Add("ProgressNum", result.Sum(x => x.ProgressNum));
|
||||
summary.Add("CompleteNum", result.Sum(x => x.CompleteNum));
|
||||
GridYsc.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 预试车数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<Run_ScheduleSetUpDto> YscData()
|
||||
{
|
||||
var result = new List<Run_ScheduleSetUpDto>();
|
||||
|
||||
if (Funs.DB.Run_ScheduleSetUp.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1) > 0)
|
||||
{
|
||||
var query = from a in Funs.DB.Run_ScheduleSetUp
|
||||
|
@ -56,29 +82,75 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
AddTime = a.AddTime,
|
||||
Sort = a.Sort
|
||||
};
|
||||
GridYsc.DataSource = query.ToList();
|
||||
result = query.ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = new List<Run_ScheduleSetUpDto>();
|
||||
string strSql = @"select a.WorkPackId,a.WorkPackName,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId) as AllNum,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=0) as ProgressNum,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=1) as CompleteNum from PreRun_WorkPackage as a order by a.Sort"; List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (tb.Rows.Count > 0)
|
||||
List<string> SubSystemIds = new List<string>();
|
||||
var devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
int i = 1;
|
||||
foreach (DataRow row in tb.Rows)
|
||||
SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
string allStr = $"select a.SubSystemId,a.SystemId,b.WorkPackId,b.WorkPackName,b.WorkPackType,(select count(1) from PreRun_SubPropertySelect as gd where gd.SubSystemId = a.SubSystemId) as GdallNum,(select count(1) from PreRun_SubTechnologySelect as sb where sb.SubSystemId = a.SubSystemId) as SballNum,(select count(1) from PreRun_SubInstrumentSelect as sy where sy.SubSystemId = a.SubSystemId) as SyallNum from PreRun_SubSysWorkPackage as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SubSystemId in ('{string.Join("','", SubSystemIds)}') order by a.WorkPackCode asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from PreRun_SubInspectTerm as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.SubSystemId in ('{string.Join("','", SubSystemIds)}') group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
//获取所有子系统数量
|
||||
var inspects = Funs.DB.PreRun_SubInspectTerm.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && SubSystemIds.Contains(x.SubSystemId));
|
||||
var querylist = DataTableToList<QuerySubSysWorkPackage>(dt);
|
||||
var queryGroup = querylist.GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackType }).Select(p => new
|
||||
{
|
||||
p.Key.WorkPackId,
|
||||
p.Key.WorkPackName,
|
||||
p.Key.WorkPackType
|
||||
});
|
||||
int i = 1;
|
||||
foreach (var itemPack in queryGroup)
|
||||
{
|
||||
var itemQueryList = querylist.Where(x => x.WorkPackId == itemPack.WorkPackId).ToList();
|
||||
var model = new Run_ScheduleSetUpDto();
|
||||
model.ScheduleId = Guid.NewGuid().ToString();
|
||||
model.WorkPackId = row["WorkPackId"].ToString();
|
||||
model.WorkPackName = row["WorkPackName"].ToString();
|
||||
model.WorkPackId = itemPack.WorkPackId;
|
||||
model.WorkPackName = itemPack.WorkPackName;
|
||||
model.ProjectId = this.CurrUser.LoginProjectId;
|
||||
model.States = 1;
|
||||
model.AllNum = int.Parse(row["AllNum"].ToString());
|
||||
model.ProgressNum = int.Parse(row["ProgressNum"].ToString());
|
||||
model.CompleteNum = int.Parse(row["CompleteNum"].ToString());
|
||||
model.AllNum = itemQueryList.Count(x => x.WorkPackId == itemPack.WorkPackId);
|
||||
model.ProgressNum = 0;
|
||||
model.CompleteNum = 0;
|
||||
var subsystemids = itemQueryList.ConvertAll(a => a.SubSystemId).Distinct();
|
||||
foreach (var itemsubid in subsystemids)
|
||||
{
|
||||
if (inspects.Count(x => x.SubSystemId == itemsubid) > 0)
|
||||
{
|
||||
var itemQuerylist = itemQueryList.FirstOrDefault(x => x.SubSystemId == itemsubid && x.WorkPackId == itemPack.WorkPackId);
|
||||
var allNum = itemQuerylist.GdallNum + itemQuerylist.SballNum + itemQuerylist.SyallNum;
|
||||
if (inspects.Count(x => x.SubInspectId == itemsubid && x.InspectIsClose != 1) > 0)
|
||||
{
|
||||
model.ProgressNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var closeInspect = inspects.Where(x => x.SubInspectId == itemsubid && x.InspectIsClose == 1);
|
||||
var closeNums = closeInspect.Count() > 0 ? closeInspect.Select(x => x.PropertyTechnologyId.Split(',').Count()).Sum(x => x) : 0;
|
||||
if (allNum > closeNums)
|
||||
{
|
||||
model.ProgressNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
model.CompleteNum += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
model.ProgressNum += 1;
|
||||
}
|
||||
}
|
||||
var rate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (rate > 100) rate = 100;
|
||||
model.CompleteRate = rate;
|
||||
|
@ -89,10 +161,9 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
i++;
|
||||
}
|
||||
}
|
||||
GridYsc.DataSource = result;
|
||||
}
|
||||
TabStrip1.ActiveTabIndex = 0;
|
||||
GridYsc.DataBind();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -155,6 +226,115 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 预试车导出
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnYscExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "预试车进度.xlsx";
|
||||
|
||||
var result = YscData();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("预试车进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 3);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("全部数量");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("进行中数量");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("已完成数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 3);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.AllNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProgressNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.CompleteNum.ToString());
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 3);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(1).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("预试车进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 试车
|
||||
|
@ -164,6 +344,26 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </summary>
|
||||
public void DataBridSc()
|
||||
{
|
||||
var result = ScData();
|
||||
GridSc.DataSource = result;
|
||||
TabStrip1.ActiveTabIndex = 1;
|
||||
GridSc.DataBind();
|
||||
|
||||
JObject summary = new JObject();
|
||||
summary.Add("AllNum", result.Sum(x => x.AllNum));
|
||||
summary.Add("ProgressNum", result.Sum(x => x.ProgressNum));
|
||||
summary.Add("CompleteNum", result.Sum(x => x.CompleteNum));
|
||||
GridSc.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<Run_ScheduleSetUpDto> ScData()
|
||||
{
|
||||
var result = new List<Run_ScheduleSetUpDto>();
|
||||
|
||||
if (Funs.DB.Run_ScheduleSetUp.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2) > 0)
|
||||
{
|
||||
var query = from a in Funs.DB.Run_ScheduleSetUp
|
||||
|
@ -185,29 +385,48 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
AddTime = a.AddTime,
|
||||
Sort = a.Sort
|
||||
};
|
||||
GridSc.DataSource = query.ToList();
|
||||
result = query.ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = new List<Run_ScheduleSetUpDto>();
|
||||
string strSql = @"select a.WorkPackId,a.WorkPackName,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId) as AllNum,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=0) as ProgressNum,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=1) as CompleteNum from TestRun_WorkPackage as a order by a.Sort"; List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (tb.Rows.Count > 0)
|
||||
List<string> SystemIds = new List<string>();
|
||||
var devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 3).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
SystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
string allStr = $"select b.WorkPackId,b.WorkPackName,COUNT(a.SystemId) as WorkPackNum from TestRun_SubSysWorkPackage as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SystemId in ('{string.Join("','", SystemIds)}') group by b.WorkPackId,b.WorkPackName";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from TestRun_SubInspectTerm as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
|
||||
int i = 1;
|
||||
foreach (DataRow row in tb.Rows)
|
||||
var list = DataTableToList<TestRunScheduleDto>(dt);
|
||||
foreach (var item in list)
|
||||
{
|
||||
var model = new Run_ScheduleSetUpDto();
|
||||
model.ScheduleId = Guid.NewGuid().ToString();
|
||||
model.WorkPackId = row["WorkPackId"].ToString();
|
||||
model.WorkPackName = row["WorkPackName"].ToString();
|
||||
model.WorkPackId = item.WorkPackId;
|
||||
model.WorkPackName = item.WorkPackName;
|
||||
model.ProjectId = this.CurrUser.LoginProjectId;
|
||||
model.States = 2;
|
||||
model.AllNum = int.Parse(row["AllNum"].ToString());
|
||||
model.ProgressNum = int.Parse(row["ProgressNum"].ToString());
|
||||
model.CompleteNum = int.Parse(row["CompleteNum"].ToString());
|
||||
|
||||
if (inspectlist.Count(x => x.WorkPackId == item.WorkPackId) > 0)
|
||||
{
|
||||
var itemInspect = inspectlist.FirstOrDefault(x => x.WorkPackId == item.WorkPackId);
|
||||
model.AllNum = itemInspect.AllNum;
|
||||
model.ProgressNum = itemInspect.NoCloseNum;
|
||||
model.CompleteNum = itemInspect.CloseNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
model.AllNum = 0;
|
||||
model.ProgressNum = 0;
|
||||
model.CompleteNum = 0;
|
||||
}
|
||||
model.CompleteRate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
model.AddUser = this.CurrUser.UserId;
|
||||
model.AddTime = DateTime.Now;
|
||||
|
@ -216,10 +435,9 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
i++;
|
||||
}
|
||||
}
|
||||
GridSc.DataSource = result;
|
||||
}
|
||||
TabStrip1.ActiveTabIndex = 1;
|
||||
GridSc.DataBind();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -280,10 +498,389 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车导出
|
||||
/// </summary>
|
||||
protected void btnScExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "试车进度.xlsx";
|
||||
|
||||
var result = ScData();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("试车进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 3);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("全部数量");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("进行中数量");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("已完成数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 3);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.AllNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProgressNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.CompleteNum.ToString());
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 3);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(1).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("试车进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 三查四定
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定绑定
|
||||
/// </summary>
|
||||
public void DataBridScsd()
|
||||
{
|
||||
var result = ScsdData();
|
||||
GridScsd.DataSource = result;
|
||||
TabStrip1.ActiveTabIndex = 2;
|
||||
GridScsd.DataBind();
|
||||
JObject summary = new JObject();
|
||||
summary.Add("AllNum", result.Sum(x => x.AllNum));
|
||||
summary.Add("ProgressNum", result.Sum(x => x.ProgressNum));
|
||||
summary.Add("CompleteNum", result.Sum(x => x.CompleteNum));
|
||||
GridScsd.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<Run_ScheduleSetUp> ScsdData()
|
||||
{
|
||||
var result = new List<Run_ScheduleSetUp>();
|
||||
|
||||
if (Funs.DB.Run_ScheduleSetUp.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 3) > 0)
|
||||
{
|
||||
result = Funs.DB.Run_ScheduleSetUp.Where(a => a.States == 3 && a.ProjectId == this.CurrUser.LoginProjectId).OrderBy(o => o.LevelName).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
var list = new List<FourDecisionScheduleBridDto>();
|
||||
string allStr = $"select Level,COUNT(1) as AllNum,SUM(case ISNULL(a.DecisionIsClose,0) when 0 then 1 else 0 end) as NoCloseNum,SUM(case ISNULL(a.DecisionIsClose,0) when 1 then 1 else 0 end) as CloseNum from PreRun_SubThreeChecksFourDecision as a where a.ProjectId='{this.CurrUser.LoginProjectId}' group by a.Level order by a.Level asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
int i = 1;
|
||||
list = DataTableToList<FourDecisionScheduleBridDto>(dt);
|
||||
foreach (var item in list)
|
||||
{
|
||||
var model = new Run_ScheduleSetUp();
|
||||
model.ScheduleId = Guid.NewGuid().ToString();
|
||||
model.ProjectId = this.CurrUser.LoginProjectId;
|
||||
model.LevelName = item.Level;
|
||||
model.States = 3;
|
||||
model.AllNum = item.AllNum;
|
||||
model.ProgressNum = item.NoCloseNum;
|
||||
model.CompleteNum = item.CloseNum;
|
||||
model.CompleteRate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
model.AddUser = this.CurrUser.UserId;
|
||||
model.AddTime = DateTime.Now;
|
||||
model.Sort = i;
|
||||
result.Add(model);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定重置
|
||||
/// </summary>
|
||||
protected void btnScsdReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
var list = Funs.DB.Run_ScheduleSetUp.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 3);
|
||||
if (list.Count() > 0)
|
||||
{
|
||||
Funs.DB.Run_ScheduleSetUp.DeleteAllOnSubmit(list);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
DataBridScsd();
|
||||
ShowNotify("重置成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定保存
|
||||
/// </summary>
|
||||
protected void btnScsdSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var deletelist = Funs.DB.Run_ScheduleSetUp.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 3);
|
||||
Funs.DB.Run_ScheduleSetUp.DeleteAllOnSubmit(deletelist);
|
||||
Funs.DB.SubmitChanges();
|
||||
var addList = new List<Run_ScheduleSetUp>();
|
||||
JArray mergedData = GridScsd.GetMergedData();
|
||||
foreach (JObject mergedRow in mergedData)
|
||||
{
|
||||
string status = mergedRow.Value<string>("status");
|
||||
JObject values = mergedRow.Value<JObject>("values");
|
||||
int i = mergedRow.Value<int>("index");
|
||||
var model = new Run_ScheduleSetUp();
|
||||
model.ScheduleId = this.GridScsd.Rows[i].DataKeys[0].ToString();
|
||||
model.LevelName = this.GridScsd.Rows[i].DataKeys[1].ToString();
|
||||
model.ProjectId = this.CurrUser.LoginProjectId;
|
||||
model.States = 3;
|
||||
model.AllNum = !string.IsNullOrWhiteSpace(values.Value<string>("AllNum")) ? int.Parse(values.Value<string>("AllNum")) : 0;
|
||||
model.ProgressNum = !string.IsNullOrWhiteSpace(values.Value<string>("ProgressNum")) ? int.Parse(values.Value<string>("ProgressNum")) : 0;
|
||||
model.CompleteNum = !string.IsNullOrWhiteSpace(values.Value<string>("CompleteNum")) ? int.Parse(values.Value<string>("CompleteNum")) : 0;
|
||||
model.CompleteRate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
model.AddUser = this.CurrUser.UserId;
|
||||
model.AddTime = DateTime.Now;
|
||||
model.Sort = i;
|
||||
addList.Add(model);
|
||||
}
|
||||
|
||||
Funs.DB.Run_ScheduleSetUp.InsertAllOnSubmit(addList);
|
||||
Funs.DB.SubmitChanges();
|
||||
DataBridScsd();
|
||||
ShowNotify("保存成功!");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowNotify(ex.Message, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定导出
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnScsdExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "三查四定进度.xlsx";
|
||||
|
||||
var result = ScsdData();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("三查四定进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 3);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("类别名称");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("全部数量");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("进行中数量");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("已完成数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 3);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.LevelName);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.AllNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProgressNum.ToString());
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.CompleteNum.ToString());
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 3);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(1).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("三查四定进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 私有方法
|
||||
|
||||
/// <summary>
|
||||
/// 创建头部
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
|
||||
{
|
||||
for (int i = sRows; i <= eRows; i++)
|
||||
{
|
||||
ws.CreateRow(i);
|
||||
ws.GetRow(i).HeightInPoints = height;
|
||||
for (int j = cStart; j <= cEnd; j++)
|
||||
{
|
||||
ws.GetRow(i).CreateCell(j);
|
||||
ws.GetRow(i).CreateCell(j).CellStyle = style;
|
||||
}
|
||||
}
|
||||
return ws;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建样式
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
|
||||
{
|
||||
ICellStyle style = wb.CreateCellStyle();
|
||||
style.BorderBottom = Bottom;
|
||||
style.BorderLeft = Left;
|
||||
style.BorderRight = Right;
|
||||
style.BorderTop = Top;
|
||||
style.VerticalAlignment = VerAig;
|
||||
style.Alignment = HorAig;
|
||||
IFont font = wb.CreateFont();
|
||||
font.FontHeightInPoints = FontSize;
|
||||
font.IsBold = Bold;
|
||||
font.FontName = FontName;
|
||||
style.SetFont(font);
|
||||
style.WrapText = WrapText;
|
||||
return style;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 私有方法
|
||||
/// </summary>
|
||||
|
@ -299,6 +896,11 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
//试车
|
||||
DataBridSc();
|
||||
}
|
||||
else if (TabStrip1.ActiveTabIndex == 2)
|
||||
{
|
||||
//三查四定
|
||||
DataBridScsd();
|
||||
}
|
||||
}
|
||||
|
||||
public class Run_ScheduleSetUpDto : Run_ScheduleSetUp
|
||||
|
@ -309,7 +911,92 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
public string WorkPackName { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车检查表实体
|
||||
/// </summary>
|
||||
public class WorkPackageInspectDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭任务单数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭任务单数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定统计实体
|
||||
/// </summary>
|
||||
public class FourDecisionScheduleBridDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 级别
|
||||
/// </summary>
|
||||
public string Level { get; set; }
|
||||
/// <summary>
|
||||
/// 尾项数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭尾项数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭尾项数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 转换
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转换List
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<T> DataTableToList<T>(DataTable table)
|
||||
{
|
||||
List<T> list = new List<T>();
|
||||
T t = default(T);
|
||||
PropertyInfo[] propertypes = null;
|
||||
string tempName = string.Empty;
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
t = Activator.CreateInstance<T>();
|
||||
propertypes = t.GetType().GetProperties();
|
||||
foreach (PropertyInfo pro in propertypes)
|
||||
{
|
||||
tempName = pro.Name;
|
||||
if (table.Columns.Contains(tempName))
|
||||
{
|
||||
object value = row[tempName];
|
||||
if (!value.ToString().Equals(""))
|
||||
{
|
||||
pro.SetValue(t, value, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.Add(t);
|
||||
}
|
||||
return list.Count == 0 ? new List<T>() : list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -122,6 +122,24 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnYscSave;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill;
|
||||
|
||||
/// <summary>
|
||||
/// btnYscExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnYscExport;
|
||||
|
||||
/// <summary>
|
||||
/// txtAllNum 控件。
|
||||
/// </summary>
|
||||
|
@ -185,6 +203,24 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScSave;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnScExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScExport;
|
||||
|
||||
/// <summary>
|
||||
/// txtAllNum1 控件。
|
||||
/// </summary>
|
||||
|
@ -211,5 +247,86 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtCompleteNum1;
|
||||
|
||||
/// <summary>
|
||||
/// GridScsd 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid GridScsd;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar4;
|
||||
|
||||
/// <summary>
|
||||
/// btnScsdReset 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScsdReset;
|
||||
|
||||
/// <summary>
|
||||
/// btnScsdSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScsdSave;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill2;
|
||||
|
||||
/// <summary>
|
||||
/// btnScsdExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScsdExport;
|
||||
|
||||
/// <summary>
|
||||
/// NumberBox1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox NumberBox1;
|
||||
|
||||
/// <summary>
|
||||
/// NumberBox2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox NumberBox2;
|
||||
|
||||
/// <summary>
|
||||
/// NumberBox3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox NumberBox3;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,17 +44,18 @@
|
|||
<Rows>
|
||||
<f:FormRow runat="server" ID="zxtsc">
|
||||
<Items>
|
||||
<f:Grid Height="550px" ID="GridTestRun" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="WorkPackId" DataKeyNames="WorkPackId" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true">
|
||||
<f:Grid Height="550px" ID="GridTestRun" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="WorkPackId" DataKeyNames="WorkPackId" AllowSorting="false" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="false" IsDatabasePaging="true" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnScExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" OnClick="btnScExport_Click" DisableControlBeforePostBack="false" EnableAjax="false"></f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkName" DataField="WorkName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
<f:RenderField HeaderText="工作包名称" ColumnID="WorkPackName" DataField="WorkPackName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
|
@ -62,13 +63,17 @@
|
|||
</f:RenderField>
|
||||
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="子系统名称" ColumnID="SubsystemName" DataField="SubsystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
<f:RenderField HeaderText="工作包数量" ColumnID="WorkPackNum" DataField="WorkPackNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作包数量" ColumnID="AllNum" DataField="AllNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
<f:RenderField HeaderText="工作包未关闭数量" ColumnID="WorkPackNoCloseNum" DataField="WorkPackNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="未关闭任务单数量" ColumnID="NoCloseNum" DataField="NoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
<f:RenderField HeaderText="工作包已关闭数量" ColumnID="WorkPackCloseNum" DataField="WorkPackCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已关闭任务单数量" ColumnID="CloseNum" DataField="CloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
<f:RenderField HeaderText="检查表数量" ColumnID="InspectNum" DataField="InspectNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检查表未关闭数量" ColumnID="InspectNoCloseNum" DataField="InspectNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检查表已关闭数量" ColumnID="InspectCloseNum" DataField="InspectCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
|
|
|
@ -7,7 +7,13 @@ using System.Data;
|
|||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using static FineUIPro.Web.TestRun.Report.PreRunSchedule;
|
||||
using System.Reflection;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.SS.Util;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.IO;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.Report
|
||||
{
|
||||
|
@ -18,14 +24,15 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// </summary>
|
||||
public string TreePreRunId { get { return (string)ViewState["TreePreRunId"]; } set { ViewState["TreePreRunId"] = value; } }
|
||||
/// <summary>
|
||||
/// 子系统主键
|
||||
/// 系统主键
|
||||
/// </summary>
|
||||
public string SsubSystemId { get { return (string)ViewState["SsubSystemId"]; } set { ViewState["SsubSystemId"] = value; } }
|
||||
public List<string> SystemIds { get { return (List<string>)ViewState["SystemIds"]; } set { ViewState["SystemIds"] = value; } }
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if (SystemIds == null) SystemIds = new List<string>();
|
||||
this.InitTreeMenu();//加载树
|
||||
}
|
||||
}
|
||||
|
@ -107,76 +114,203 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
var devices = new List<PreRun_SysDevice>();
|
||||
this.TreePreRunId = tvControlItem.SelectedNodeID != "0" ? tvControlItem.SelectedNodeID : string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 3)
|
||||
{
|
||||
this.SystemIds = new List<string>() { model.PreRunId };
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 3 && x.ProcessesId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
else if (model.PreRunLevel == 1)
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 3 && x.InstallationId == model.PreRunId).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 3).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
this.SystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
}
|
||||
TestRunBrid();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 数据绑定
|
||||
#region 数据绑定/导出
|
||||
|
||||
/// <summary>
|
||||
/// 预试车绑定
|
||||
/// </summary>
|
||||
public void TestRunBrid()
|
||||
{
|
||||
var result = new List<ScheduleBridDto>();
|
||||
string strSql = "select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose,0) when 1 then 1 else 0 end) as ygbnum,SUM(case ISNULL(a.InspectIsClose,0) when 0 then 1 else 0 end) as wgbnum,COUNT(1) as allnum from TestRun_SubInspectTerm as a inner join TestRun_WorkPackage as b on a.WorkPackId=b.WorkPackId where 1=1 and a.ProjectId=@ProjectId ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
string installationName = "-";
|
||||
string processesName = "-";
|
||||
string systemName = "-";
|
||||
string subsystemName = "-";
|
||||
string columnames = string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(this.TreePreRunId))
|
||||
var result = new List<TestRunScheduleDto>();
|
||||
if (this.SystemIds.Count > 0)
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId);
|
||||
if (model.PreRunLevel == 1)
|
||||
{
|
||||
installationName = model.PreRunName;
|
||||
columnames = "a.InstallationId";
|
||||
}
|
||||
else if (model.PreRunLevel == 2)
|
||||
{
|
||||
processesName = model.PreRunName;
|
||||
columnames = "a.ProcessesId";
|
||||
}
|
||||
else if (model.PreRunLevel == 3)
|
||||
{
|
||||
systemName = model.PreRunName;
|
||||
columnames = "a.SystemId";
|
||||
}
|
||||
else if (model.PreRunLevel == 4)
|
||||
{
|
||||
subsystemName = model.PreRunName;
|
||||
columnames = "a.SubsystemId";
|
||||
}
|
||||
strSql += $"and {columnames}='{model.PreRunId}'";
|
||||
}
|
||||
strSql += "group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
var dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (dt != null)
|
||||
{
|
||||
foreach (DataRow item in dt.Rows)
|
||||
{
|
||||
result.Add(new ScheduleBridDto()
|
||||
{
|
||||
WorkPackId = item["WorkPackId"].ToString(),
|
||||
WorkName = item["WorkPackName"].ToString(),
|
||||
InstallationName = installationName,
|
||||
ProcessesName = processesName,
|
||||
SystemName = systemName,
|
||||
SubsystemName = subsystemName,
|
||||
AllNum = item["allnum"].ToString(),
|
||||
NoCloseNum = item["wgbnum"].ToString(),
|
||||
CloseNum = item["ygbnum"].ToString()
|
||||
});
|
||||
}
|
||||
result = GetTestRunSchedules();
|
||||
}
|
||||
|
||||
GridTestRun.DataSource = result;
|
||||
GridTestRun.DataBind();
|
||||
JObject summary = new JObject();
|
||||
summary.Add("WorkPackNum", result.Sum(x => x.WorkPackNum));
|
||||
summary.Add("WorkPackNoCloseNum", result.Sum(x => x.WorkPackNoCloseNum));
|
||||
summary.Add("WorkPackCloseNum", result.Sum(x => x.WorkPackCloseNum));
|
||||
summary.Add("InspectNum", result.Sum(x => x.InspectNum));
|
||||
summary.Add("InspectNoCloseNum", result.Sum(x => x.InspectNoCloseNum));
|
||||
summary.Add("InspectCloseNum", result.Sum(x => x.InspectCloseNum));
|
||||
GridTestRun.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车导出
|
||||
/// </summary>
|
||||
protected void btnScExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "试车进度.xlsx";
|
||||
|
||||
var result = GetTestRunSchedules();
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("试车进度");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, (30 * 256));
|
||||
ws.SetColumnWidth(1, (20 * 256));
|
||||
ws.SetColumnWidth(2, (20 * 256));
|
||||
ws.SetColumnWidth(3, (20 * 256));
|
||||
ws.SetColumnWidth(4, (20 * 256));
|
||||
ws.SetColumnWidth(5, (20 * 256));
|
||||
ws.SetColumnWidth(6, (20 * 256));
|
||||
ws.SetColumnWidth(7, (20 * 256));
|
||||
ws.SetColumnWidth(8, (20 * 256));
|
||||
ws.SetColumnWidth(9, (20 * 256));
|
||||
|
||||
#endregion
|
||||
|
||||
#region 样式
|
||||
//公共样式
|
||||
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
|
||||
//公共样式加粗
|
||||
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 9);
|
||||
//行1
|
||||
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
|
||||
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(1).SetCellValue("装置名称");
|
||||
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(2).SetCellValue("工序名称");
|
||||
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(3).SetCellValue("系统名称");
|
||||
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(4).SetCellValue("工作包数量");
|
||||
ws.GetRow(0).GetCell(5).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(5).SetCellValue("工作包未关闭数量");
|
||||
ws.GetRow(0).GetCell(6).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(6).SetCellValue("工作包已关闭数量");
|
||||
ws.GetRow(0).GetCell(7).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(7).SetCellValue("检查表数量");
|
||||
ws.GetRow(0).GetCell(8).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(8).SetCellValue("检查表未关闭数量");
|
||||
ws.GetRow(0).GetCell(9).CellStyle = styleBold;
|
||||
ws.GetRow(0).GetCell(9).SetCellValue("检查表已关闭数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
var start = 1;
|
||||
var end = result.Count;
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 9);
|
||||
|
||||
//数据
|
||||
var dataIndex = 1;
|
||||
foreach (var item in result)
|
||||
{
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.InstallationName);
|
||||
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProcessesName);
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.SystemName);
|
||||
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.WorkPackNum);
|
||||
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.WorkPackNoCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.InspectNum);
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.InspectNoCloseNum);
|
||||
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectCloseNum);
|
||||
dataIndex++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 9);
|
||||
var region = new CellRangeAddress(end + 1, end + 1, 0, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
|
||||
ws.GetRow(end + 1).GetCell(4).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
|
||||
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
|
||||
|
||||
#endregion
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("试车进度.xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -184,7 +318,48 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
#region 私有方法
|
||||
|
||||
/// <summary>
|
||||
/// 试车统计实体
|
||||
/// 创建头部
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
|
||||
{
|
||||
for (int i = sRows; i <= eRows; i++)
|
||||
{
|
||||
ws.CreateRow(i);
|
||||
ws.GetRow(i).HeightInPoints = height;
|
||||
for (int j = cStart; j <= cEnd; j++)
|
||||
{
|
||||
ws.GetRow(i).CreateCell(j);
|
||||
ws.GetRow(i).CreateCell(j).CellStyle = style;
|
||||
}
|
||||
}
|
||||
return ws;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建样式
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
|
||||
{
|
||||
ICellStyle style = wb.CreateCellStyle();
|
||||
style.BorderBottom = Bottom;
|
||||
style.BorderLeft = Left;
|
||||
style.BorderRight = Right;
|
||||
style.BorderTop = Top;
|
||||
style.VerticalAlignment = VerAig;
|
||||
style.Alignment = HorAig;
|
||||
IFont font = wb.CreateFont();
|
||||
font.FontHeightInPoints = FontSize;
|
||||
font.IsBold = Bold;
|
||||
font.FontName = FontName;
|
||||
style.SetFont(font);
|
||||
style.WrapText = WrapText;
|
||||
return style;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车统计实体(老)
|
||||
/// </summary>
|
||||
public class ScheduleBridDto
|
||||
{
|
||||
|
@ -226,6 +401,171 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
public string CloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取试车统计
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private List<TestRunScheduleDto> GetTestRunSchedules()
|
||||
{
|
||||
var list = new List<TestRunScheduleDto>();
|
||||
|
||||
string allStr = $"select b.WorkPackId,b.WorkPackName,COUNT(a.SystemId) as WorkPackNum from TestRun_SubSysWorkPackage as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SystemId in ('{string.Join("','", this.SystemIds)}') group by b.WorkPackId,b.WorkPackName";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from TestRun_SubInspectTerm as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
|
||||
string deviceStr = $"select b.PreRunName as InstallationName,c.PreRunName as ProcessesName,d.PreRunName as SystemName from PreRun_SysDevice as a left join PreRun_SysDevice as b on b.PreRunId=ISNULL(a.InstallationId,a.PreRunId) left join PreRun_SysDevice as c on c.PreRunId=a.ProcessesId left join PreRun_SysDevice as d on d.PreRunId=a.SystemId where a.PreRunId='{this.TreePreRunId}'";
|
||||
var driveDt = SQLHelper.GetDataTableRunText(deviceStr);
|
||||
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
list = DataTableToList<TestRunScheduleDto>(dt);
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (inspectlist.Count(x => x.WorkPackId == item.WorkPackId) > 0)
|
||||
{
|
||||
var itemInspect = inspectlist.FirstOrDefault(x => x.WorkPackId == item.WorkPackId);
|
||||
item.InspectNum = itemInspect.AllNum;
|
||||
item.InspectCloseNum = itemInspect.CloseNum;
|
||||
item.InspectNoCloseNum = itemInspect.NoCloseNum;
|
||||
item.WorkPackCloseNum = itemInspect.CloseNum;
|
||||
item.WorkPackNoCloseNum = itemInspect.NoCloseNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.InspectNum = 0;
|
||||
item.InspectCloseNum = 0;
|
||||
item.InspectNoCloseNum = 0;
|
||||
item.WorkPackNoCloseNum = 0;
|
||||
item.WorkPackCloseNum = 0;
|
||||
}
|
||||
if (driveDt.Rows.Count > 0)
|
||||
{
|
||||
item.InstallationName = driveDt.Rows[0]["InstallationName"].ToString();
|
||||
item.ProcessesName = driveDt.Rows[0]["ProcessesName"].ToString();
|
||||
item.SystemName = driveDt.Rows[0]["SystemName"].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车统计实体
|
||||
/// </summary>
|
||||
public class TestRunScheduleDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 装置名称
|
||||
/// </summary>
|
||||
public string InstallationName { get; set; }
|
||||
/// <summary>
|
||||
/// 工序名称
|
||||
/// </summary>
|
||||
public string ProcessesName { get; set; }
|
||||
/// <summary>
|
||||
/// 系统名称
|
||||
/// </summary>
|
||||
public string SystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包数量
|
||||
/// </summary>
|
||||
public int WorkPackNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包未关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包已关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int InspectNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表未关闭数量
|
||||
/// </summary>
|
||||
public int InspectNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表已关闭数量
|
||||
/// </summary>
|
||||
public int InspectCloseNum { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 试车检查表实体
|
||||
/// </summary>
|
||||
public class WorkPackageInspectDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭任务单数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭任务单数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 转换
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转换List
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<T> DataTableToList<T>(DataTable table)
|
||||
{
|
||||
List<T> list = new List<T>();
|
||||
T t = default(T);
|
||||
PropertyInfo[] propertypes = null;
|
||||
string tempName = string.Empty;
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
t = Activator.CreateInstance<T>();
|
||||
propertypes = t.GetType().GetProperties();
|
||||
foreach (PropertyInfo pro in propertypes)
|
||||
{
|
||||
tempName = pro.Name;
|
||||
if (table.Columns.Contains(tempName))
|
||||
{
|
||||
object value = row[tempName];
|
||||
if (!value.ToString().Equals(""))
|
||||
{
|
||||
pro.SetValue(t, value, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.Add(t);
|
||||
}
|
||||
return list.Count == 0 ? new List<T>() : list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
|
|
@ -130,5 +130,14 @@ namespace FineUIPro.Web.TestRun.Report
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill;
|
||||
|
||||
/// <summary>
|
||||
/// btnScExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnScExport;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunPerformanceStandard.aspx.cs" Inherits="FineUIPro.Web.ZHGL.TestRunPerformance.TestRunPerformanceStandard" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel1" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="考核标准" EnableCollapse="false" runat="server" PageSize="1000"
|
||||
BoxFlex="1" DataKeyNames="TestRunPerformanceStandardId" AllowCellEditing="true" EnableColumnLines="true" SortField="Code1,Code2,Code3" SortDirection="ASC"
|
||||
ClicksToEdit="1" DataIDField="TestRunPerformanceStandardId" AllowSorting="true" EnableRowDoubleClickEvent="false " OnRowDoubleClick="Grid1_RowDoubleClick"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar4" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnNew" OnClick="btnNew_Click" Icon="Add" EnablePostBack="true" runat="server" ToolTip="新增开车绩效评分标准">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RenderField HeaderText="编号" ColumnID="Code" DataField="Code" Width="80px"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作类别" ColumnID="Type" DataField="Type" Width="100px"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工作项" ColumnID="Item" DataField="Item" Width="220px"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计量单位" ColumnID="Unit" DataField="Unit" Width="140px"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="标准工作日" ColumnID="Days" DataField="Days" Width="100px"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
<f:Listener Event="dataload" Handler="onGridDataLoad" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="开车方案编制计划" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
|
||||
Width="600px" Height="350px">
|
||||
</f:Window>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
<Items>
|
||||
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil" OnClick="btnMenuModify_Click" Hidden="true">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
|
||||
OnClick="btnMenuDel_Click">
|
||||
</f:MenuButton>
|
||||
</Items>
|
||||
</f:Menu>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
var menuID = '<%= Menu1.ClientID %>';
|
||||
|
||||
// 返回false,来阻止浏览器右键菜单
|
||||
function onRowContextMenu(event, rowId) {
|
||||
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||
return false;
|
||||
}
|
||||
|
||||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
|
||||
function onGridDataLoad(event) {
|
||||
this.mergeColumns(['Type','Item'], {
|
||||
depends: true
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,137 @@
|
|||
using BLL;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.ZHGL.TestRunPerformance
|
||||
{
|
||||
public partial class TestRunPerformanceStandard : PageBase
|
||||
{
|
||||
#region 加载
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
GetButtonPower();
|
||||
BindGrid();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 数据绑定
|
||||
//加载列表
|
||||
public void BindGrid()
|
||||
{
|
||||
string strSql = @"select * from Base_TestRunPerformanceStandard";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
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 btnMenuModify_Click(object sender, EventArgs e)
|
||||
{
|
||||
EditData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Grid行双击事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
||||
{
|
||||
EditData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑
|
||||
/// </summary>
|
||||
private void EditData()
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunPerformanceStandardEdit.aspx?TestRunPerformanceStandardId={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除
|
||||
protected void btnMenuDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||||
{
|
||||
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||||
{
|
||||
BLL.TestRunPerformanceStandardService.DeleteTestRunPerformanceStandardById(Grid1.SelectedRowID);
|
||||
}
|
||||
BindGrid();
|
||||
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 权限设置
|
||||
/// <summary>
|
||||
/// 权限设置
|
||||
/// </summary>
|
||||
private void GetButtonPower()
|
||||
{
|
||||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TestRunPerformanceStandardMenuId);
|
||||
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;
|
||||
}
|
||||
if (buttonList.Contains(BLL.Const.BtnDelete))
|
||||
{
|
||||
this.btnMenuDel.Hidden = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 新增
|
||||
/// <summary>
|
||||
/// 新增
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunPerformanceStandardEdit.aspx", "新增 - ")));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 关闭弹出窗口
|
||||
/// <summary>
|
||||
/// 关闭弹出窗口
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
105
SGGL/FineUIPro.Web/ZHGL/TestRunPerformance/TestRunPerformanceStandard.aspx.designer.cs
generated
Normal file
105
SGGL/FineUIPro.Web/ZHGL/TestRunPerformance/TestRunPerformanceStandard.aspx.designer.cs
generated
Normal file
|
@ -0,0 +1,105 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.ZHGL.TestRunPerformance {
|
||||
|
||||
|
||||
public partial class TestRunPerformanceStandard {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar4;
|
||||
|
||||
/// <summary>
|
||||
/// btnNew 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnNew;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuModify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuModify;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuDel 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuDel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunPerformanceStandardEdit.aspx.cs" Inherits="FineUIPro.Web.ZHGL.TestRunPerformance.TestRunPerformanceStandardEdit" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelWidth="100px" Required="true" ShowRedStar="true"></f:TextBox>
|
||||
<f:NumberBox ID="txtCode3" runat="server" Label="排序" NoNegative="true" NoDecimal="true"></f:NumberBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtType" runat="server" Label="工作类别" LabelWidth="100px" Required="true" ShowRedStar="true"></f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtItem" runat="server" Label="工作项" LabelWidth="100px" Required="true" ShowRedStar="true"></f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtUnit" runat="server" Label="计量单位" LabelWidth="100px" Required="true" ShowRedStar="true"></f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:NumberBox ID="txtDays" runat="server" Label="标准工作日" NoNegative="true" NoDecimal="true"></f:NumberBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="" ValidateForms="SimpleForm1"
|
||||
OnClick="btnSave_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Form>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,76 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using BLL;
|
||||
|
||||
namespace FineUIPro.Web.ZHGL.TestRunPerformance
|
||||
{
|
||||
public partial class TestRunPerformanceStandardEdit : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string TestRunPerformanceStandardId = Request.Params["TestRunPerformanceStandardId"];
|
||||
if (!string.IsNullOrEmpty(TestRunPerformanceStandardId))
|
||||
{
|
||||
Model.Base_TestRunPerformanceStandard item = TestRunPerformanceStandardService.GetPerformanceStandardById(TestRunPerformanceStandardId);
|
||||
if (item != null)
|
||||
{
|
||||
this.txtCode.Text = item.Code;
|
||||
if (item.Code3 != null)
|
||||
{
|
||||
this.txtCode3.Text = item.Code3.ToString();
|
||||
}
|
||||
this.txtType.Text = item.Type;
|
||||
this.txtItem.Text = item.Item;
|
||||
this.txtUnit.Text = item.Unit;
|
||||
if (item.Days != null)
|
||||
{
|
||||
this.txtDays.Text = item.Days.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!this.txtCode.Text.Contains("."))
|
||||
{
|
||||
Alert.ShowInTop("编号格式不正确", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
string TestRunPerformanceStandardId = Request.Params["TestRunPerformanceStandardId"];
|
||||
Model.Base_TestRunPerformanceStandard newItem = new Model.Base_TestRunPerformanceStandard();
|
||||
newItem.Code = this.txtCode.Text.Trim();
|
||||
var strs = this.txtCode.Text.Trim().Split(',');
|
||||
if (strs.Length == 2)
|
||||
{
|
||||
newItem.Code1 = Funs.GetNewInt(strs[0]);
|
||||
newItem.Code2 = Funs.GetNewInt(strs[1]);
|
||||
}
|
||||
newItem.Code3 = Funs.GetNewInt(this.txtCode3.Text.Trim());
|
||||
newItem.Type = this.txtType.Text.Trim();
|
||||
newItem.Item = this.txtItem.Text.Trim();
|
||||
newItem.Unit = this.txtUnit.Text.Trim();
|
||||
newItem.Days= Funs.GetNewInt(this.txtDays.Text.Trim());
|
||||
if (string.IsNullOrEmpty(TestRunPerformanceStandardId))
|
||||
{
|
||||
newItem.TestRunPerformanceStandardId = SQLHelper.GetNewID();
|
||||
BLL.TestRunPerformanceStandardService.AddTestRunPerformanceStandard(newItem);
|
||||
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Type, newItem.Item, BLL.Const.ControlItemInitSetMenuId, "增加试车绩效考核标准!");
|
||||
}
|
||||
else
|
||||
{
|
||||
newItem.TestRunPerformanceStandardId = TestRunPerformanceStandardId;
|
||||
BLL.TestRunPerformanceStandardService.UpdateTestRunPerformanceStandard(newItem);
|
||||
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Type, newItem.Item, BLL.Const.ControlItemInitSetMenuId, "修改试车绩效考核标准!");
|
||||
}
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
}
|
||||
}
|
114
SGGL/FineUIPro.Web/ZHGL/TestRunPerformance/TestRunPerformanceStandardEdit.aspx.designer.cs
generated
Normal file
114
SGGL/FineUIPro.Web/ZHGL/TestRunPerformance/TestRunPerformanceStandardEdit.aspx.designer.cs
generated
Normal file
|
@ -0,0 +1,114 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.ZHGL.TestRunPerformance {
|
||||
|
||||
|
||||
public partial class TestRunPerformanceStandardEdit {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtCode3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtCode3;
|
||||
|
||||
/// <summary>
|
||||
/// txtType 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtType;
|
||||
|
||||
/// <summary>
|
||||
/// txtItem 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtItem;
|
||||
|
||||
/// <summary>
|
||||
/// txtUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtUnit;
|
||||
|
||||
/// <summary>
|
||||
/// txtDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtDays;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
}
|
||||
}
|
|
@ -83,4 +83,6 @@
|
|||
</TreeNode>
|
||||
<TreeNode id="EA413D2A-8D29-4DE2-932D-8511BB7F6CB2" Text="各项目巡查汇总" NavigateUrl="ZHGL/InspectionSummary/InspectionSummary.aspx"></TreeNode>
|
||||
<TreeNode id="F2133BD6-C786-407A-AD6F-3EEF613229A8" Text="施工管理绩效数据" NavigateUrl="ZHGL/Performance/PerformanceAllData.aspx"></TreeNode>
|
||||
<TreeNode id="53D8CED2-9AA7-43EA-B27D-EA10A06DF713" Text="开车人员绩效管理" NavigateUrl=""><TreeNode id="383290E0-60AE-4D16-8B5E-3899B85EC2ED" Text="开车绩效评分标准" NavigateUrl="ZHGL/TestRunPerformance/TestRunPerformanceStandard.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
</Tree>
|
|
@ -95,6 +95,19 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-wrap">
|
||||
<div class="top">
|
||||
<div class="item">
|
||||
<div class="bw-b-bottom ptop6">
|
||||
<div class="bw-b-bottom-up">
|
||||
<div class="bw-item-content">
|
||||
<div id='three' style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -204,7 +217,7 @@
|
|||
var oneNameData = [];
|
||||
var oneArr = JSON.parse(oneArrStr);
|
||||
var oneData = JSON.parse(oneDataStr);
|
||||
$.each(oneData, function (inxex, item) {
|
||||
$.each(oneData, function (index, item) {
|
||||
var obj = { name: item };
|
||||
oneNameData.push(obj);
|
||||
});
|
||||
|
@ -224,15 +237,6 @@
|
|||
tooltip: {
|
||||
formatter: '{a}:{c}%'//a 是series中每条数据name值,c 是data数值
|
||||
},
|
||||
//legend: {
|
||||
// orient: 'vertical', // 'horizontal'
|
||||
// data: oneData,
|
||||
// textStyle: { // 图列内容样式
|
||||
// color: '#fff', // 字体颜色
|
||||
// },
|
||||
// x: '70%',//图例位置,设置right发现图例和文字位置反了,设置一个数值就好了
|
||||
// y: 'center'//延Y轴居中
|
||||
//},
|
||||
grid: {
|
||||
left: '3%',
|
||||
//right: '30%',
|
||||
|
@ -253,7 +257,9 @@
|
|||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
rotate: -90,
|
||||
formatter: function (value) {
|
||||
return value.split("").join("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -271,16 +277,6 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
//dataZoom: [
|
||||
// {
|
||||
// type: "slider",//slider表示有滑动块的,
|
||||
// show: true,
|
||||
//// xAxisIndex: [0],//表示x轴折叠
|
||||
// start: 1,//数据窗口范围的起始百分比,表示1%
|
||||
// end: 70,//数据窗口范围的结束百分比,表示35%坐标
|
||||
// bottom: "0",
|
||||
// },
|
||||
//],
|
||||
series: [{
|
||||
name: '进度率',
|
||||
type: 'bar',
|
||||
|
@ -288,9 +284,11 @@
|
|||
data: oneArr,
|
||||
label: {
|
||||
show: true,
|
||||
position: 'inside',
|
||||
interval: 0,
|
||||
rotate: -90,
|
||||
position: 'top',
|
||||
color: "#00D8FE",
|
||||
fontWeight: "bold",
|
||||
//interval: 0,
|
||||
//rotate: -90,
|
||||
formatter: function (params) {
|
||||
if (params.value > 0) {
|
||||
return params.value + '%';
|
||||
|
@ -308,35 +306,10 @@
|
|||
}
|
||||
}
|
||||
}]
|
||||
//series: oneNameData
|
||||
};
|
||||
//for (var i = 0; i < option.series.length; i++) {
|
||||
// var style = { //定义柱状图的样式
|
||||
// type: 'bar',
|
||||
// barWidth: 20,
|
||||
// normal: {
|
||||
// label: {
|
||||
// show: true,
|
||||
// position: 'inside', //柱子下显示 数值
|
||||
// interval: 0,
|
||||
// rotate: -90,
|
||||
// formatter: function (params) {
|
||||
// if (params.value > 0) {
|
||||
// return params.value + '%';
|
||||
// } else {
|
||||
// return ' ';
|
||||
// }
|
||||
// },
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
// option.series[i].type = 'bar'; //每条数据指定类型为'bar'
|
||||
// option.series[i].itemStyle = style; // series中每条数据都加的样式
|
||||
// option.series[i].data = [bar_data[i]]; //series 中 data赋值
|
||||
//};
|
||||
chart.setOption(option);
|
||||
|
||||
|
||||
//图2
|
||||
var twoDataStr = '<%=twoDataStr%>';
|
||||
var towData = JSON.parse(twoDataStr);
|
||||
var data = towData.map((item, index) => item.Rate);
|
||||
|
@ -397,11 +370,12 @@
|
|||
fontSize: 12,
|
||||
},
|
||||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
borderRadius: [10, 10, 10, 10],
|
||||
color: new echarts.graphic.LinearGradient(0, 1, 1, 1, [
|
||||
{ offset: 0, color: '#395CFE' },
|
||||
{ offset: 1, color: '#2EC7CF' },
|
||||
]),
|
||||
barBorderRadius: [10, 10, 10, 10]
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -428,12 +402,406 @@
|
|||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
color: 'rgba(3,169,244, 0.5)',
|
||||
barBorderRadius: [10, 10, 10, 10]
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
chart1.setOption(option);
|
||||
|
||||
//图3
|
||||
var fourDecisionStr = '<%=fourDecisionStr%>';
|
||||
var threeData = JSON.parse(fourDecisionStr);
|
||||
var threewidth = Math.floor(100 / threeData.length);
|
||||
$.each(threeData, function (index, item) {
|
||||
$("#three").append("<div id='three" + index + "' style='width:" + threewidth + "%; height:100%; display:inline-block'></div>");
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$.each(threeData, function (index, item) {
|
||||
var chart = echarts.init(document.getElementById('three' + index));
|
||||
var value = item.Rate;
|
||||
option = {
|
||||
backgroundColor: '000',
|
||||
title: {
|
||||
text: `${value}%`,
|
||||
subtext: '三查四定' + item.Name + '类',
|
||||
left: 'center',
|
||||
top: '45%', //top待调整
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 20,
|
||||
fontFamily: 'DINAlternate-Bold',
|
||||
},
|
||||
subtextStyle: {
|
||||
color: '#ff',
|
||||
fontSize: 14,
|
||||
fontFamily: 'PingFangSC-Regular',
|
||||
top: 'center'
|
||||
},
|
||||
itemGap: 16 //主副标题间距
|
||||
},
|
||||
xAxis: {
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
series: [
|
||||
// 内圆
|
||||
{
|
||||
type: 'pie',
|
||||
radius: ['0', '50%'],
|
||||
center: ['50%', '50%'],
|
||||
z: 0,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.RadialGradient(0.5, 0.5, 0.5, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#1a68c0'
|
||||
},
|
||||
{
|
||||
offset: 0.44,
|
||||
color: '#1a68c0'
|
||||
},
|
||||
{
|
||||
offset: 0.73,
|
||||
color: '#194c88'
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#162c46'
|
||||
}
|
||||
]),
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
},
|
||||
label: {
|
||||
normal: {
|
||||
position: "center",
|
||||
|
||||
}
|
||||
},
|
||||
data: [100],
|
||||
},
|
||||
// 进度圈
|
||||
{
|
||||
type: 'pie',
|
||||
clockWise: true,
|
||||
radius: ["60%", "55%"],
|
||||
data: [{
|
||||
value: value,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
borderWidth: 2,
|
||||
borderColor: {
|
||||
colorStops: [{
|
||||
offset: 0,
|
||||
color: '#1d87ff' || '#00cefc' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#1d87ff' || '#367bec' // 100% 处的颜色
|
||||
}]
|
||||
},
|
||||
color: { // 完成的圆环的颜色
|
||||
colorStops: [{
|
||||
offset: 0,
|
||||
color: '#1d87ff' || '#00cefc' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#1d87ff' || '#367bec' // 100% 处的颜色
|
||||
}]
|
||||
},
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '',
|
||||
value: 100 - value,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
color: 'rgba(0, 0, 0, 0)',
|
||||
borderColor: 'rgba(0, 0, 0, 0)',
|
||||
borderWidth: 0,
|
||||
}
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
//刻度尺
|
||||
{
|
||||
// name: "白色圈刻度",
|
||||
type: "gauge",
|
||||
radius: "77%",
|
||||
startAngle: 225, //刻度起始
|
||||
endAngle: -134.8, //刻度结束
|
||||
z: 4,
|
||||
axisTick: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#354e6c'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
length: 16, //刻度节点线长度
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#354e6c'
|
||||
} //刻度节点线
|
||||
},
|
||||
axisLabel: {
|
||||
color: 'rgba(255,255,255,0)',
|
||||
fontSize: 12,
|
||||
}, //刻度节点文字颜色
|
||||
pointer: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
opacity: 0
|
||||
}
|
||||
},
|
||||
detail: {
|
||||
show: false
|
||||
},
|
||||
data: [{
|
||||
value: 0,
|
||||
name: ""
|
||||
}]
|
||||
},
|
||||
]
|
||||
};
|
||||
chart.setOption(option);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
//data = [
|
||||
// {
|
||||
// name: 'A类',
|
||||
// value: 20,
|
||||
// },
|
||||
// {
|
||||
// name: 'B类',
|
||||
// value: 30,
|
||||
// },
|
||||
// {
|
||||
// name: 'C类',
|
||||
// value: 50,
|
||||
// },
|
||||
//];
|
||||
//arrName = getArrayValue(data, 'name');
|
||||
//arrValue = getArrayValue(data, 'value');
|
||||
//sumValue = eval(arrValue.join('+'));
|
||||
//objData = array2obj(data, 'name');
|
||||
//optionData = getData(data);
|
||||
|
||||
//function getArrayValue(array, key) {
|
||||
// var key = key || 'value';
|
||||
// var res = [];
|
||||
// if (array) {
|
||||
// array.forEach(function (t) {
|
||||
// res.push(t[key]);
|
||||
// });
|
||||
// }
|
||||
// return res;
|
||||
//}
|
||||
//function array2obj(array, key) {
|
||||
// var resObj = {};
|
||||
// for (var i = 0; i < array.length; i++) {
|
||||
// resObj[array[i][key]] = array[i];
|
||||
// }
|
||||
// return resObj;
|
||||
//}
|
||||
//function getData(data) {
|
||||
// var res = {
|
||||
// series: [],
|
||||
// yAxis: [],
|
||||
// };
|
||||
// for (let i = 0; i < data.length; i++) {
|
||||
// res.series.push({
|
||||
// name: '',
|
||||
// type: 'pie',
|
||||
// clockWise: false, //顺时加载
|
||||
// hoverAnimation: false, //鼠标移入变大
|
||||
// radius: [73 - i * 15 + '%', 68 - i * 15 + '%'],
|
||||
// center: ['40%', '55%'],
|
||||
// label: {
|
||||
// show: false,
|
||||
// },
|
||||
// itemStyle: {
|
||||
// label: {
|
||||
// show: false,
|
||||
// },
|
||||
// labelLine: {
|
||||
// show: false,
|
||||
// },
|
||||
// borderWidth: 5,
|
||||
// },
|
||||
// data: [
|
||||
// {
|
||||
// value: data[i].value,
|
||||
// name: data[i].name,
|
||||
// },
|
||||
// {
|
||||
// value: sumValue - data[i].value,
|
||||
// name: '',
|
||||
// itemStyle: {
|
||||
// color: 'rgba(0,0,0,0)',
|
||||
// borderWidth: 0,
|
||||
// },
|
||||
// tooltip: {
|
||||
// show: false,
|
||||
// },
|
||||
// hoverAnimation: false,
|
||||
// },
|
||||
// ],
|
||||
// });
|
||||
// res.series.push({
|
||||
// name: '',
|
||||
// type: 'pie',
|
||||
// silent: true,
|
||||
// z: 1,
|
||||
// clockWise: false, //顺时加载
|
||||
// hoverAnimation: false, //鼠标移入变大
|
||||
// radius: [73 - i * 15 + '%', 68 - i * 15 + '%'],
|
||||
// center: ['40%', '55%'],
|
||||
// label: {
|
||||
// show: false,
|
||||
// },
|
||||
// itemStyle: {
|
||||
// label: {
|
||||
// show: false,
|
||||
// },
|
||||
// labelLine: {
|
||||
// show: false,
|
||||
// },
|
||||
// borderWidth: 5,
|
||||
// },
|
||||
// data: [
|
||||
// {
|
||||
// value: 7.5,
|
||||
// itemStyle: {
|
||||
// color: '#add2d2', //圆环背景色-全
|
||||
// borderWidth: 0,
|
||||
// },
|
||||
// tooltip: {
|
||||
// show: false,
|
||||
// },
|
||||
// hoverAnimation: false,
|
||||
// },
|
||||
// {
|
||||
// value: 2.5,
|
||||
// name: '',
|
||||
// itemStyle: {
|
||||
// color: 'rgba(0,0,0,0)',
|
||||
// borderWidth: 0,
|
||||
// },
|
||||
// tooltip: {
|
||||
// show: false,
|
||||
// },
|
||||
// hoverAnimation: false,
|
||||
// },
|
||||
// ],
|
||||
// });
|
||||
// res.yAxis.push(((data[i].value / sumValue) * 100).toFixed(2) + '%');
|
||||
// }
|
||||
// return res;
|
||||
//}
|
||||
//option = {
|
||||
// //backgroundColor: '#ddd',
|
||||
// legend: {
|
||||
// show: true,
|
||||
// icon: 'circle',
|
||||
// top: 'center',
|
||||
// top: '16%',
|
||||
// bottom: '53%',
|
||||
// left: '40%',
|
||||
// data: arrName,
|
||||
// width: 40,
|
||||
// padding: [0, 16],
|
||||
// itemGap: 25,
|
||||
// //图例显示
|
||||
// formatter: function (name) {
|
||||
// return '{title|' + name + '}{value|' + ((objData[name].value / sumValue) * 100).toFixed(2) + '} {title|%}';
|
||||
// },
|
||||
|
||||
// textStyle: {
|
||||
// rich: {
|
||||
// title: {
|
||||
// fontSize: 20,
|
||||
// lineHeight: 30,
|
||||
// color: '#fff',
|
||||
// },
|
||||
// value: {
|
||||
// fontSize: 18,
|
||||
// lineHeight: 20,
|
||||
// color: '#fff',
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// title: {
|
||||
// text: '', //图形标题,配置在中间对应效果图的80%
|
||||
// left: '20%',
|
||||
// top: '50%',
|
||||
// textStyle: {
|
||||
// color: 'rgb(50,197,233)',
|
||||
// fontSize: 16,
|
||||
// align: 'left',
|
||||
// },
|
||||
// },
|
||||
// tooltip: {
|
||||
// show: true,
|
||||
// trigger: 'item',
|
||||
// formatter: '{a}<br>{b}:{c}({d}%)',
|
||||
// },
|
||||
// color: ['yellow', 'blue', 'green'],
|
||||
// xAxis: [
|
||||
// {
|
||||
// show: false,
|
||||
// },
|
||||
// ],
|
||||
// series: optionData.series,
|
||||
//};
|
||||
//chart2.setOption(option);
|
||||
|
||||
</script>
|
||||
|
||||
<%--<script type="text/javascript">
|
||||
|
|
|
@ -12,6 +12,11 @@ using static FineUIPro.Web.TestRun.Report.ScheduleSetUp;
|
|||
using NPOI.SS.Formula.Functions;
|
||||
using Model;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Reflection;
|
||||
using static FineUIPro.Web.TestRun.Report.PreRunSchedule;
|
||||
using Aspose.Words;
|
||||
using static FineUIPro.Web.TestRun.Report.TestRunSchedule;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
|
||||
namespace FineUIPro.Web
|
||||
{
|
||||
|
@ -20,6 +25,8 @@ namespace FineUIPro.Web
|
|||
public string oneArrStr { get; set; }
|
||||
public string oneDataStr { get; set; }
|
||||
public string twoDataStr { get; set; }
|
||||
public string fourDecisionStr { get; set; }
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
|
@ -32,6 +39,7 @@ namespace FineUIPro.Web
|
|||
{
|
||||
OneYsc();
|
||||
TwoSc();
|
||||
FourDecision();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -63,27 +71,86 @@ namespace FineUIPro.Web
|
|||
}
|
||||
else
|
||||
{
|
||||
string strSql = @"select a.WorkPackId,a.WorkPackName,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId) as AllNum,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=0) as ProgressNum,(select COUNT(1) from PreRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=1) as CompleteNum from PreRun_WorkPackage as a order by a.Sort"; List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (tb.Rows.Count > 0)
|
||||
List<string> SubSystemIds = new List<string>();
|
||||
var devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 4).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
var allCompleteNum = float.Parse(tb.Compute("sum(CompleteNum)", "").ToString());
|
||||
var allSumNum = float.Parse(tb.Compute("sum(AllNum)", "").ToString());
|
||||
var allrate = (float)Math.Round(allCompleteNum / allSumNum * 100, 2, MidpointRounding.AwayFromZero);
|
||||
SubSystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
var result = new List<Run_ScheduleSetUpDto>();
|
||||
string allStr = $"select a.SubSystemId,a.SystemId,b.WorkPackId,b.WorkPackName,b.WorkPackType,(select count(1) from PreRun_SubPropertySelect as gd where gd.SubSystemId = a.SubSystemId) as GdallNum,(select count(1) from PreRun_SubTechnologySelect as sb where sb.SubSystemId = a.SubSystemId) as SballNum,(select count(1) from PreRun_SubInstrumentSelect as sy where sy.SubSystemId = a.SubSystemId) as SyallNum from PreRun_SubSysWorkPackage as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SubSystemId in ('{string.Join("','", SubSystemIds)}') order by a.WorkPackCode asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from PreRun_SubInspectTerm as a inner join PreRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.SubSystemId in ('{string.Join("','", SubSystemIds)}') group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
//获取所有子系统数量
|
||||
var inspects = Funs.DB.PreRun_SubInspectTerm.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && SubSystemIds.Contains(x.SubSystemId));
|
||||
var querylist = DataTableToList<QuerySubSysWorkPackage>(dt);
|
||||
var queryGroup = querylist.GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackType }).Select(p => new
|
||||
{
|
||||
p.Key.WorkPackId,
|
||||
p.Key.WorkPackName,
|
||||
p.Key.WorkPackType
|
||||
});
|
||||
int progressNum = 0;
|
||||
int completeNum = 0;
|
||||
float allCompleteNum = 0;
|
||||
float allProgressNum = 0;
|
||||
int allNum = 0;
|
||||
int allSumNum = 0;
|
||||
List<float> oneDataArr = new List<float>();
|
||||
List<string> oneDataData = new List<string>();
|
||||
foreach (var itemPack in queryGroup)
|
||||
{
|
||||
var itemQueryList = querylist.Where(x => x.WorkPackId == itemPack.WorkPackId).ToList();
|
||||
var subsystemids = itemQueryList.ConvertAll(a => a.SubSystemId).Distinct();
|
||||
allNum = itemQueryList.Count(x => x.WorkPackId == itemPack.WorkPackId);
|
||||
foreach (var itemsubid in subsystemids)
|
||||
{
|
||||
if (inspects.Count(x => x.SubSystemId == itemsubid) > 0)
|
||||
{
|
||||
var itemQuerylist = itemQueryList.FirstOrDefault(x => x.SubSystemId == itemsubid && x.WorkPackId == itemPack.WorkPackId);
|
||||
if (inspects.Count(x => x.SubInspectId == itemsubid && x.InspectIsClose != 1) > 0)
|
||||
{
|
||||
progressNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var closeInspect = inspects.Where(x => x.SubInspectId == itemsubid && x.InspectIsClose == 1);
|
||||
var closeNums = closeInspect.Count() > 0 ? closeInspect.Select(x => x.PropertyTechnologyId.Split(',').Count()).Sum(x => x) : 0;
|
||||
if (allNum > closeNums)
|
||||
{
|
||||
progressNum += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
completeNum += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
progressNum += 1;
|
||||
}
|
||||
}
|
||||
var rate = completeNum > 0 ? (float)Math.Round((float)completeNum / (float)allNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (rate > 100) rate = 100;
|
||||
|
||||
allSumNum += allNum;
|
||||
allCompleteNum += completeNum;
|
||||
allProgressNum += progressNum;
|
||||
oneDataArr.Add(rate);
|
||||
oneDataData.Add(itemPack.WorkPackName);
|
||||
}
|
||||
|
||||
var allrate = allCompleteNum > 0 ? (float)Math.Round(allCompleteNum / allSumNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (allrate > 100) allrate = 100;
|
||||
oneArr.Add(allrate);
|
||||
oneData.Add("全部");
|
||||
foreach (DataRow row in tb.Rows)
|
||||
{
|
||||
float allNum = float.Parse(row["AllNum"].ToString());
|
||||
float completeNum = float.Parse(row["CompleteNum"].ToString());
|
||||
var rate = completeNum > 0 ? (float)Math.Round((completeNum / allNum * 100), 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (rate > 100) rate = 100;
|
||||
oneArr.Add(rate);
|
||||
oneData.Add(row["WorkPackName"].ToString());
|
||||
}
|
||||
oneArr.AddRange(oneDataArr);
|
||||
oneData.AddRange(oneDataData);
|
||||
}
|
||||
}
|
||||
oneArrStr = JsonConvert.SerializeObject(oneArr);
|
||||
|
@ -117,21 +184,37 @@ namespace FineUIPro.Web
|
|||
}
|
||||
else
|
||||
{
|
||||
string strSql = @"select a.WorkPackId,a.WorkPackName,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId) as AllNum,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=0) as ProgressNum,(select COUNT(1) from TestRun_SubInspectTerm as b where b.WorkPackId=a.WorkPackId and b.ProjectId=@ProjectId and ISNULL(b.InspectIsClose,0)=1) as CompleteNum from TestRun_WorkPackage as a order by a.Sort"; List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
if (tb.Rows.Count > 0)
|
||||
List<string> SystemIds = new List<string>();
|
||||
var devices = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 3).ToList();
|
||||
if (devices.Count > 0)
|
||||
{
|
||||
foreach (DataRow row in tb.Rows)
|
||||
SystemIds = devices.ConvertAll(x => x.PreRunId);
|
||||
}
|
||||
string allStr = $"select b.WorkPackId,b.WorkPackName,COUNT(a.SystemId) as WorkPackNum from TestRun_SubSysWorkPackage as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where a.SystemId in ('{string.Join("','", SystemIds)}') group by b.WorkPackId,b.WorkPackName";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
var data = new List<TwoDto>();
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
string inspectStr = $"select a.WorkPackId,b.WorkPackName,b.Sort,SUM(case ISNULL(a.InspectIsClose, 0) when 1 then 1 else 0 end) as CloseNum,SUM(case ISNULL(a.InspectIsClose, 0) when 0 then 1 else 0 end) as NoCloseNum,COUNT(1) as AllNum from TestRun_SubInspectTerm as a inner join TestRun_WorkPackage as b on a.WorkPackId = b.WorkPackId where 1=1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' group by a.WorkPackId,b.WorkPackName,b.Sort order by b.Sort asc";
|
||||
var inspectDt = SQLHelper.GetDataTableRunText(inspectStr);
|
||||
var inspectlist = DataTableToList<WorkPackageInspectDto>(inspectDt);
|
||||
int progressNum = 0;
|
||||
int completeNum = 0;
|
||||
int allNum = 0;
|
||||
var testlist = DataTableToList<TestRunScheduleDto>(dt);
|
||||
foreach (var item in testlist)
|
||||
{
|
||||
float allNum = float.Parse(row["AllNum"].ToString());
|
||||
float completeNum = float.Parse(row["CompleteNum"].ToString());
|
||||
var rate = completeNum > 0 ? (float)Math.Round((completeNum / allNum) * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (rate > 100) rate = 100;
|
||||
if (inspectlist.Count(x => x.WorkPackId == item.WorkPackId) > 0)
|
||||
{
|
||||
var itemInspect = inspectlist.FirstOrDefault(x => x.WorkPackId == item.WorkPackId);
|
||||
allNum = itemInspect.AllNum;
|
||||
progressNum = itemInspect.NoCloseNum;
|
||||
completeNum = itemInspect.CloseNum;
|
||||
}
|
||||
var rate = completeNum > 0 ? (float)Math.Round((float)completeNum / (float)allNum, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
result.Add(new TwoDto()
|
||||
{
|
||||
Name = row["WorkPackName"].ToString(),
|
||||
Name = item.WorkPackName,
|
||||
Rate = rate
|
||||
});
|
||||
}
|
||||
|
@ -140,11 +223,204 @@ namespace FineUIPro.Web
|
|||
twoDataStr = JsonConvert.SerializeObject(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三查四定
|
||||
/// </summary>
|
||||
public void FourDecision()
|
||||
{
|
||||
var result = new List<ThreeDto>();
|
||||
var list = Funs.DB.Run_ScheduleSetUp.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 3).OrderBy(o => o.LevelName).ToList();
|
||||
if (list.Count > 0)
|
||||
{
|
||||
foreach (var item in list)
|
||||
{
|
||||
var rate = item.CompleteNum > 0 ? (float)Math.Round((float)item.CompleteNum / (float)item.AllNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
if (rate > 100) rate = 100;
|
||||
result.Add(new ThreeDto()
|
||||
{
|
||||
Name = item.LevelName,
|
||||
Rate = rate
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var fourlist = new List<FourDecisionScheduleBridDto>();
|
||||
string allStr = $"select Level,COUNT(1) as AllNum,SUM(case ISNULL(a.DecisionIsClose,0) when 0 then 1 else 0 end) as NoCloseNum,SUM(case ISNULL(a.DecisionIsClose,0) when 1 then 1 else 0 end) as CloseNum from PreRun_SubThreeChecksFourDecision as a where a.ProjectId='{this.CurrUser.LoginProjectId}' group by a.Level order by a.Level asc";
|
||||
var dt = SQLHelper.GetDataTableRunText(allStr);
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
fourlist = DataTableToList<FourDecisionScheduleBridDto>(dt);
|
||||
foreach (var item in fourlist)
|
||||
{
|
||||
float rate = item.CloseNum > 0 ? (float)Math.Round((float)item.CloseNum / (float)item.AllNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
|
||||
result.Add(new ThreeDto()
|
||||
{
|
||||
Name = item.Level,
|
||||
Rate = rate
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
fourDecisionStr = JsonConvert.SerializeObject(result);
|
||||
}
|
||||
|
||||
#region 实体类
|
||||
|
||||
/// <summary>
|
||||
/// 图2
|
||||
/// </summary>
|
||||
public class TwoDto
|
||||
{
|
||||
public float Rate { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 图3
|
||||
/// </summary>
|
||||
public class ThreeDto
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public float Rate { get; set; }
|
||||
}
|
||||
|
||||
public class WorkPackageInspectDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭任务单数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭任务单数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
public class Run_ScheduleSetUpDto : Run_ScheduleSetUp
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
}
|
||||
|
||||
public class TestRunScheduleDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工作包主键
|
||||
/// </summary>
|
||||
public string WorkPackId { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包名称
|
||||
/// </summary>
|
||||
public string WorkPackName { get; set; }
|
||||
/// <summary>
|
||||
/// 装置名称
|
||||
/// </summary>
|
||||
public string InstallationName { get; set; }
|
||||
/// <summary>
|
||||
/// 工序名称
|
||||
/// </summary>
|
||||
public string ProcessesName { get; set; }
|
||||
/// <summary>
|
||||
/// 系统名称
|
||||
/// </summary>
|
||||
public string SystemName { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包数量
|
||||
/// </summary>
|
||||
public int WorkPackNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包未关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 工作包已关闭数量
|
||||
/// </summary>
|
||||
public int WorkPackCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表数量
|
||||
/// </summary>
|
||||
public int InspectNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表未关闭数量
|
||||
/// </summary>
|
||||
public int InspectNoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 检查表已关闭数量
|
||||
/// </summary>
|
||||
public int InspectCloseNum { get; set; }
|
||||
}
|
||||
|
||||
public class FourDecisionScheduleBridDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 级别
|
||||
/// </summary>
|
||||
public string Level { get; set; }
|
||||
/// <summary>
|
||||
/// 尾项数量
|
||||
/// </summary>
|
||||
public int AllNum { get; set; }
|
||||
/// <summary>
|
||||
/// 未关闭尾项数量
|
||||
/// </summary>
|
||||
public int NoCloseNum { get; set; }
|
||||
/// <summary>
|
||||
/// 已关闭尾项数量
|
||||
/// </summary>
|
||||
public int CloseNum { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 转换
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转换List
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<T> DataTableToList<T>(DataTable table)
|
||||
{
|
||||
List<T> list = new List<T>();
|
||||
T t = default(T);
|
||||
PropertyInfo[] propertypes = null;
|
||||
string tempName = string.Empty;
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
t = Activator.CreateInstance<T>();
|
||||
propertypes = t.GetType().GetProperties();
|
||||
foreach (PropertyInfo pro in propertypes)
|
||||
{
|
||||
tempName = pro.Name;
|
||||
if (table.Columns.Contains(tempName))
|
||||
{
|
||||
object value = row[tempName];
|
||||
if (!value.ToString().Equals(""))
|
||||
{
|
||||
pro.SetValue(t, value, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.Add(t);
|
||||
}
|
||||
return list.Count == 0 ? new List<T>() : list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
|
@ -221,6 +221,9 @@ namespace Model
|
|||
partial void InsertBase_TestRunLicenseType(Base_TestRunLicenseType instance);
|
||||
partial void UpdateBase_TestRunLicenseType(Base_TestRunLicenseType instance);
|
||||
partial void DeleteBase_TestRunLicenseType(Base_TestRunLicenseType instance);
|
||||
partial void InsertBase_TestRunPerformanceStandard(Base_TestRunPerformanceStandard instance);
|
||||
partial void UpdateBase_TestRunPerformanceStandard(Base_TestRunPerformanceStandard instance);
|
||||
partial void DeleteBase_TestRunPerformanceStandard(Base_TestRunPerformanceStandard instance);
|
||||
partial void InsertBase_TrainLevel(Base_TrainLevel instance);
|
||||
partial void UpdateBase_TrainLevel(Base_TrainLevel instance);
|
||||
partial void DeleteBase_TrainLevel(Base_TrainLevel instance);
|
||||
|
@ -3090,6 +3093,14 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Base_TestRunPerformanceStandard> Base_TestRunPerformanceStandard
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetTable<Base_TestRunPerformanceStandard>();
|
||||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Base_TrainLevel> Base_TrainLevel
|
||||
{
|
||||
get
|
||||
|
@ -37468,6 +37479,260 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Base_TestRunPerformanceStandard")]
|
||||
public partial class Base_TestRunPerformanceStandard : INotifyPropertyChanging, INotifyPropertyChanged
|
||||
{
|
||||
|
||||
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
|
||||
|
||||
private string _TestRunPerformanceStandardId;
|
||||
|
||||
private string _Code;
|
||||
|
||||
private System.Nullable<int> _Code1;
|
||||
|
||||
private System.Nullable<int> _Code2;
|
||||
|
||||
private System.Nullable<int> _Code3;
|
||||
|
||||
private string _Type;
|
||||
|
||||
private string _Item;
|
||||
|
||||
private string _Unit;
|
||||
|
||||
private System.Nullable<int> _Days;
|
||||
|
||||
#region 可扩展性方法定义
|
||||
partial void OnLoaded();
|
||||
partial void OnValidate(System.Data.Linq.ChangeAction action);
|
||||
partial void OnCreated();
|
||||
partial void OnTestRunPerformanceStandardIdChanging(string value);
|
||||
partial void OnTestRunPerformanceStandardIdChanged();
|
||||
partial void OnCodeChanging(string value);
|
||||
partial void OnCodeChanged();
|
||||
partial void OnCode1Changing(System.Nullable<int> value);
|
||||
partial void OnCode1Changed();
|
||||
partial void OnCode2Changing(System.Nullable<int> value);
|
||||
partial void OnCode2Changed();
|
||||
partial void OnCode3Changing(System.Nullable<int> value);
|
||||
partial void OnCode3Changed();
|
||||
partial void OnTypeChanging(string value);
|
||||
partial void OnTypeChanged();
|
||||
partial void OnItemChanging(string value);
|
||||
partial void OnItemChanged();
|
||||
partial void OnUnitChanging(string value);
|
||||
partial void OnUnitChanged();
|
||||
partial void OnDaysChanging(System.Nullable<int> value);
|
||||
partial void OnDaysChanged();
|
||||
#endregion
|
||||
|
||||
public Base_TestRunPerformanceStandard()
|
||||
{
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TestRunPerformanceStandardId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
|
||||
public string TestRunPerformanceStandardId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._TestRunPerformanceStandardId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._TestRunPerformanceStandardId != value))
|
||||
{
|
||||
this.OnTestRunPerformanceStandardIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._TestRunPerformanceStandardId = value;
|
||||
this.SendPropertyChanged("TestRunPerformanceStandardId");
|
||||
this.OnTestRunPerformanceStandardIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code", DbType="NVarChar(10)")]
|
||||
public string Code
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Code;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Code != value))
|
||||
{
|
||||
this.OnCodeChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Code = value;
|
||||
this.SendPropertyChanged("Code");
|
||||
this.OnCodeChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code1", DbType="Int")]
|
||||
public System.Nullable<int> Code1
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Code1;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Code1 != value))
|
||||
{
|
||||
this.OnCode1Changing(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Code1 = value;
|
||||
this.SendPropertyChanged("Code1");
|
||||
this.OnCode1Changed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code2", DbType="Int")]
|
||||
public System.Nullable<int> Code2
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Code2;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Code2 != value))
|
||||
{
|
||||
this.OnCode2Changing(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Code2 = value;
|
||||
this.SendPropertyChanged("Code2");
|
||||
this.OnCode2Changed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code3", DbType="Int")]
|
||||
public System.Nullable<int> Code3
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Code3;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Code3 != value))
|
||||
{
|
||||
this.OnCode3Changing(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Code3 = value;
|
||||
this.SendPropertyChanged("Code3");
|
||||
this.OnCode3Changed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50)")]
|
||||
public string Type
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Type;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Type != value))
|
||||
{
|
||||
this.OnTypeChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Type = value;
|
||||
this.SendPropertyChanged("Type");
|
||||
this.OnTypeChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Item", DbType="NVarChar(50)")]
|
||||
public string Item
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Item;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Item != value))
|
||||
{
|
||||
this.OnItemChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Item = value;
|
||||
this.SendPropertyChanged("Item");
|
||||
this.OnItemChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")]
|
||||
public string Unit
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Unit;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Unit != value))
|
||||
{
|
||||
this.OnUnitChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Unit = value;
|
||||
this.SendPropertyChanged("Unit");
|
||||
this.OnUnitChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Days", DbType="Int")]
|
||||
public System.Nullable<int> Days
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Days;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Days != value))
|
||||
{
|
||||
this.OnDaysChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Days = value;
|
||||
this.SendPropertyChanged("Days");
|
||||
this.OnDaysChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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.Base_TrainLevel")]
|
||||
public partial class Base_TrainLevel : INotifyPropertyChanging, INotifyPropertyChanged
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue