20240531 质量策划

This commit is contained in:
毕文静 2024-05-31 16:17:04 +08:00
parent 7be591cb7c
commit 864ba2551b
55 changed files with 8802 additions and 750 deletions

View File

@ -0,0 +1,229 @@
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('F5585C62-1F12-4073-8733-C0826FB692DB','质量策划','',190,'0','Menu_CQMS',0,0,1)
go
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','项目质量计划','CQMS/QualityPlanning/ProjectQualityPlan.aspx',10,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
go
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('8DEF71B6-6097-44A6-AFE0-84AB92DD7455','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('BAD25B64-2D8F-4B30-B137-7986FF523473','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('71B220CB-07CE-4DAF-8517-5BBDF22D4BBD','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('40EBFB1C-F001-4594-BC7C-86EBFEF5FA13','1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA','保存',4)
go
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','质量管理制度','CQMS/QualityPlanning/QualityManagementSys.aspx',20,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
go
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('7ADC74D8-FDED-49CA-B8C9-C01A7D9A187A','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('3C62B9BD-03B1-4A70-AFA3-F7EC65AFE851','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('FBC917B6-1477-4ABB-AE6B-4ED7F9F484D7','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('6DC9D9A7-92C9-4F04-9001-214ED0DE992F','46E6F0A6-A6A2-4904-9B69-CD91342D7DF8','保存',4)
go
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('6769098A-53D7-4585-87CC-2DADBCBC2C74','类似项目施工经验总结清单','CQMS/QualityPlanning/ConExperienceSummary.aspx',30,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
go
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('B1933915-149F-4A3C-9DA0-410C53C55DA4','6769098A-53D7-4585-87CC-2DADBCBC2C74','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('6B198C01-41CC-4CE0-8DB4-74AC278E9E7B','6769098A-53D7-4585-87CC-2DADBCBC2C74','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('AC64DDB9-8E3B-40F3-9CF0-0F83CA4C959A','6769098A-53D7-4585-87CC-2DADBCBC2C74','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('AA27DD51-31A8-496A-9F6D-7117AA94A4EF','6769098A-53D7-4585-87CC-2DADBCBC2C74','保存',4)
go
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('B340205A-8857-4D0D-9E4C-41D91A417A77','质量管理组织机构','CQMS/QualityPlanning/Organizational.aspx',40,'F5585C62-1F12-4073-8733-C0826FB692DB','Menu_CQMS',0,1,1)
go
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('1AF561F4-5EE1-43BA-B171-9FB7A4AF9BDC','B340205A-8857-4D0D-9E4C-41D91A417A77','查看',1)
go
CREATE TABLE [dbo].[QualityPlanning_ProjectQualityPlan](
[ProjectQualityPlanId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[FileCode] [nvarchar](50) NULL,
[FileName] [nvarchar](100) NULL,
[CompileMan] [nvarchar](50) NULL,
[CompileDate] [datetime] NULL,
[Auditor] [nvarchar](50) NULL,
[Approver] [nvarchar](50) NULL,
[ApprovalDate] [datetime] NULL,
CONSTRAINT [PK_QualityPlanning_ProjectQualityPlan] PRIMARY KEY CLUSTERED
(
[ProjectQualityPlanId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] CHECK CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Base_Project]
GO
ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Sys_User] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[QualityPlanning_ProjectQualityPlan] CHECK CONSTRAINT [FK_QualityPlanning_ProjectQualityPlan_Sys_User]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ProjectQualityPlanId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'FileCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'FileName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'CompileMan'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'CompileDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'Auditor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'Approver'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan', @level2type=N'COLUMN',@level2name=N'ApprovalDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目质量计划' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ProjectQualityPlan'
GO
CREATE TABLE [dbo].[QualityPlanning_QualityManagementSys](
[QualityManagementSysId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[FileCode] [nvarchar](50) NULL,
[FileName] [nvarchar](100) NULL,
[CompileMan] [nvarchar](50) NULL,
[CompileDate] [datetime] NULL,
[Auditor] [nvarchar](50) NULL,
[Approver] [nvarchar](50) NULL,
[ApprovalDate] [datetime] NULL,
CONSTRAINT [PK_QualityPlanning_QualityManagementSys] PRIMARY KEY CLUSTERED
(
[QualityManagementSysId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] CHECK CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Base_Project]
GO
ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Sys_User] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[QualityPlanning_QualityManagementSys] CHECK CONSTRAINT [FK_QualityPlanning_QualityManagementSys_Sys_User]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'QualityManagementSysId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'FileCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'FileName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'CompileMan'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'CompileDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'Auditor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'Approver'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys', @level2type=N'COLUMN',@level2name=N'ApprovalDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量管理制度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_QualityManagementSys'
GO
CREATE TABLE [dbo].[QualityPlanning_ConExperienceSummary](
[ConExperienceSummaryId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[FileName] [nvarchar](100) NULL,
[CompileMan] [nvarchar](50) NULL,
[CompileDate] [datetime] NULL,
CONSTRAINT [PK_QualityPlanning_ConExperienceSummary] PRIMARY KEY CLUSTERED
(
[ConExperienceSummaryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] CHECK CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Base_Project]
GO
ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] WITH CHECK ADD CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Sys_User] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[QualityPlanning_ConExperienceSummary] CHECK CONSTRAINT [FK_QualityPlanning_ConExperienceSummary_Sys_User]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'ConExperienceSummaryId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'FileName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'CompileMan'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary', @level2type=N'COLUMN',@level2name=N'CompileDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类似项目施工经验总结清单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QualityPlanning_ConExperienceSummary'
GO
alter table Comprehensive_GeneralPlanApproval alter column PlanName nvarchar(300)
go
create view View_ProjectUserWorkPost
as
select ProjectUserId,ProjectUser.UserId,ProjectUser.UnitId,ProjectUser.ProjectId,UserName,WorkPostName
from Project_ProjectUser ProjectUser
LEFT JOIN Sys_User AS Users ON ProjectUser.UserId = Users.UserId
LEFT JOIN SitePerson_Person AS Person ON ProjectUser.ProjectId =Person.ProjectId AND Users.IdentityCard = Person.IdentityCard
LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId
GO

View File

@ -279,6 +279,9 @@
<Compile Include="CQMS\ProcessControl\NondestructiveTestNewService.cs" />
<Compile Include="CQMS\ProcessControl\NondestructiveTestService.cs" />
<Compile Include="CQMS\ProcessControl\TestPackageManagementService.cs" />
<Compile Include="CQMS\QualityPlanning\ConExperienceSummaryService.cs" />
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlanService.cs" />
<Compile Include="CQMS\QualityPlanning\QualityManagementSysService.cs" />
<Compile Include="CQMS\Solution\CQMSConstructSolutionApproveService.cs" />
<Compile Include="CQMS\Solution\CQMSConstructSolutionService.cs" />
<Compile Include="CQMS\Unqualified\WorkContactApproveService.cs" />

View File

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 类似项目施工经验总结清单
/// </summary>
public class ConExperienceSummaryService
{
/// <summary>
/// 根据主键获取类似项目施工经验总结清单
/// </summary>
/// <param name="conId"></param>
/// <returns></returns>
public static Model.QualityPlanning_ConExperienceSummary GetConExperienceSummaryById(string conId)
{
return Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == conId);
}
/// <summary>
/// 添加类似项目施工经验总结清单
/// </summary>
/// <param name="con"></param>
public static void AddConExperienceSummary(Model.QualityPlanning_ConExperienceSummary con)
{
Model.QualityPlanning_ConExperienceSummary newCon = new Model.QualityPlanning_ConExperienceSummary()
{
ConExperienceSummaryId = con.ConExperienceSummaryId,
ProjectId = con.ProjectId,
FileName = con.FileName,
CompileMan = con.CompileMan,
CompileDate = con.CompileDate
};
Funs.DB.QualityPlanning_ConExperienceSummary.InsertOnSubmit(newCon);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改类似项目施工经验总结清单
/// </summary>
/// <param name="con"></param>
public static void UpdateExperienceSummary(Model.QualityPlanning_ConExperienceSummary con)
{
Model.QualityPlanning_ConExperienceSummary newCon = Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == con.ConExperienceSummaryId);
if (newCon != null)
{
newCon.FileName = con.FileName;
newCon.CompileMan = con.CompileMan;
newCon.CompileDate = con.CompileDate;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除类似项目施工经验总结清单
/// </summary>
/// <param name="conId"></param>
public static void DeleteConExperienceSummaryById(string conId)
{
Model.QualityPlanning_ConExperienceSummary con = Funs.DB.QualityPlanning_ConExperienceSummary.FirstOrDefault(e => e.ConExperienceSummaryId == conId);
if (con != null)
{
Funs.DB.QualityPlanning_ConExperienceSummary.DeleteOnSubmit(con);
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 项目质量计划
/// </summary>
public class ProjectQualityPlanService
{
/// <summary>
/// 根据主键获取项目质量计划
/// </summary>
/// <param name="projectQualityPlanId"></param>
/// <returns></returns>
public static Model.QualityPlanning_ProjectQualityPlan GetProjectQualityPlanById(string projectQualityPlanId)
{
return Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlanId);
}
/// <summary>
/// 添加项目质量计划
/// </summary>
/// <param name="projectQualityPlan"></param>
public static void AddProjectQualityPlan(Model.QualityPlanning_ProjectQualityPlan projectQualityPlan)
{
Model.QualityPlanning_ProjectQualityPlan newProjectQualityPlan = new Model.QualityPlanning_ProjectQualityPlan()
{
ProjectQualityPlanId = projectQualityPlan.ProjectQualityPlanId,
ProjectId = projectQualityPlan.ProjectId,
FileCode = projectQualityPlan.FileCode,
FileName = projectQualityPlan.FileName,
CompileMan = projectQualityPlan.CompileMan,
CompileDate = projectQualityPlan.CompileDate,
Auditor = projectQualityPlan.Auditor,
Approver = projectQualityPlan.Approver,
ApprovalDate = projectQualityPlan.ApprovalDate,
};
Funs.DB.QualityPlanning_ProjectQualityPlan.InsertOnSubmit(newProjectQualityPlan);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改项目质量计划
/// </summary>
/// <param name="projectQualityPlan"></param>
public static void UpdateProjectQualityPlan(Model.QualityPlanning_ProjectQualityPlan projectQualityPlan)
{
Model.QualityPlanning_ProjectQualityPlan newProjectQualityPlan = Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlan.ProjectQualityPlanId);
if (newProjectQualityPlan != null)
{
newProjectQualityPlan.FileCode = projectQualityPlan.FileCode;
newProjectQualityPlan.FileName = projectQualityPlan.FileName;
newProjectQualityPlan.CompileMan = projectQualityPlan.CompileMan;
newProjectQualityPlan.CompileDate = projectQualityPlan.CompileDate;
newProjectQualityPlan.Auditor = projectQualityPlan.Auditor;
newProjectQualityPlan.Approver = projectQualityPlan.Approver;
newProjectQualityPlan.ApprovalDate = projectQualityPlan.ApprovalDate;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除项目质量计划
/// </summary>
/// <param name="projectQualityPlanId"></param>
public static void DeleteProjectQualityPlanById(string projectQualityPlanId)
{
Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = Funs.DB.QualityPlanning_ProjectQualityPlan.FirstOrDefault(e => e.ProjectQualityPlanId == projectQualityPlanId);
if (projectQualityPlan != null)
{
Funs.DB.QualityPlanning_ProjectQualityPlan.DeleteOnSubmit(projectQualityPlan);
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 质量管理制度
/// </summary>
public class QualityManagementSysService
{
/// <summary>
/// 根据主键获取质量管理制度
/// </summary>
/// <param name="qualityManagementSysId"></param>
/// <returns></returns>
public static Model.QualityPlanning_QualityManagementSys GetQualityManagementSysById(string qualityManagementSysId)
{
return Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == qualityManagementSysId);
}
/// <summary>
/// 添加质量管理制度
/// </summary>
/// <param name="sys"></param>
public static void AddQualityManagementSys(Model.QualityPlanning_QualityManagementSys sys)
{
Model.QualityPlanning_QualityManagementSys newSys = new Model.QualityPlanning_QualityManagementSys()
{
QualityManagementSysId = sys.QualityManagementSysId,
ProjectId = sys.ProjectId,
FileCode = sys.FileCode,
FileName = sys.FileName,
CompileMan = sys.CompileMan,
CompileDate = sys.CompileDate,
Auditor = sys.Auditor,
Approver = sys.Approver,
ApprovalDate = sys.ApprovalDate,
};
Funs.DB.QualityPlanning_QualityManagementSys.InsertOnSubmit(newSys);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改质量管理制度
/// </summary>
/// <param name="sys"></param>
public static void UpdateQualityManagementSys(Model.QualityPlanning_QualityManagementSys sys)
{
Model.QualityPlanning_QualityManagementSys newSys = Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == sys.QualityManagementSysId);
if (newSys != null)
{
newSys.FileCode = sys.FileCode;
newSys.FileName = sys.FileName;
newSys.CompileMan = sys.CompileMan;
newSys.CompileDate = sys.CompileDate;
newSys.Auditor = sys.Auditor;
newSys.Approver = sys.Approver;
newSys.ApprovalDate = sys.ApprovalDate;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除质量管理制度
/// </summary>
/// <param name="sysId"></param>
public static void DeleteQualityManagementSys(string sysId)
{
Model.QualityPlanning_QualityManagementSys sys = Funs.DB.QualityPlanning_QualityManagementSys.FirstOrDefault(e => e.QualityManagementSysId == sysId);
if (sys != null)
{
Funs.DB.QualityPlanning_QualityManagementSys.DeleteOnSubmit(sys);
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -615,6 +615,16 @@ namespace BLL
/// 本部安全质量工程师
/// </summary>
public static string SGSecurityQAEngineer = "0aefd378-cba6-4838-bdec-2d53897ab27f";
/// <summary>
/// 仓库管理员
/// </summary>
public const string Warehouseman = "5127d9f7-2765-4388-a313-3112cc7cb543";
/// <summary>
/// 开车工程师
/// </summary>
public const string CarEngineer = "89F8AA0B-77ED-4B17-B697-EFF7259C790B";
#endregion
#region
@ -3319,6 +3329,21 @@ namespace BLL
/// </summary>
public const string ConTechnologyDisclosureTemUrl = "File\\Excel\\DataIn\\施工技术交底管理导入模板.xls";
/// <summary>
/// 项目质量计划导入模板原始虚拟路径
/// </summary>
public const string ProjectQualityPlanTemUrl = "File\\Excel\\DataIn\\项目质量计划导入模板.xls";
/// <summary>
/// 质量管理制度导入模板原始虚拟路径
/// </summary>
public const string QualityManagementSysTemUrl = "File\\Excel\\DataIn\\质量管理制度导入模板.xls";
/// <summary>
/// 类似项目施工经验总结清单原始虚拟路径
/// </summary>
public const string ConExperienceSummaryTemUrl = "File\\Excel\\DataIn\\类似项目施工经验总结清单导入模板.xls";
#region
/// <summary>
/// 质量专项检查模板文件原始虚拟路径
@ -3904,6 +3929,28 @@ namespace BLL
#endregion
#region
#region
/// <summary>
/// 项目质量计划
/// </summary>
public const string ProjectQualityPlanMenuId = "1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA";
/// <summary>
/// 质量管理制度
/// </summary>
public const string QualityManagementSysMenuId = "46E6F0A6-A6A2-4904-9B69-CD91342D7DF8";
/// <summary>
/// 类似项目施工经验总结清单
/// </summary>
public const string ConExperienceSummaryMenuId = "6769098A-53D7-4585-87CC-2DADBCBC2C74";
/// <summary>
/// 质量管理组织机构
/// </summary>
public const string OrganizationalMenuId = "B340205A-8857-4D0D-9E4C-41D91A417A77";
#endregion
/// <summary>
/// 建筑工程ID
/// </summary>

View File

@ -624,7 +624,7 @@ namespace BLL
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
where y.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true && y.IsPost == true && x.UserId != notCopyManId
orderby x.UserName
orderby x.UserName
select x).ToList();
}
else
@ -633,7 +633,7 @@ namespace BLL
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
where y.ProjectId == projectId && x.IsPost == true && y.IsPost == true && x.UserId != notCopyManId
orderby x.UserName
orderby x.UserName
select x).ToList();
}
@ -1610,5 +1610,15 @@ namespace BLL
return list;
}
}
public static List<string> GetUserNameListsByWorkPostName(string projectId, string workPostName)
{
return (from x in Funs.DB.View_ProjectUserWorkPost where x.ProjectId == projectId && x.WorkPostName == workPostName select x.UserName).ToList();
}
public static List<string> GetUserNameListsByUnitIdWorkPostName(string projectId,string unitId, string workPostName)
{
return (from x in Funs.DB.View_ProjectUserWorkPost where x.ProjectId == projectId && x.UnitId== unitId && x.WorkPostName == workPostName select x.UserName).ToList();
}
}
}

View File

@ -1,4 +1,4 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalDataIn" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalDataIn" ValidateRequest="false" %>
<!DOCTYPE html>

View File

@ -1,4 +1,4 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalEdit" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GeneralPlanApprovalEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.GeneralPlanApprovalEdit" ValidateRequest="false" %>
<!DOCTYPE html>

View File

@ -108,7 +108,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
generalPlanApproval.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
}
generalPlanApproval.PlanCode = this.txtPlanCode.Text.Trim();
generalPlanApproval.PlanName = this.txtPlanName.Text.Trim();
generalPlanApproval.PlanName = this.txtPlanName.Text.Trim().ToString();
if (!string.IsNullOrEmpty(this.txtApprovalDate.Text))
{
generalPlanApproval.ApprovalDate = Convert.ToDateTime(this.txtApprovalDate.Text);

View File

@ -330,7 +330,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
return;
}
var q = Funs.DB.Comprehensive_InspectionEquipment.FirstOrDefault(x => x.RemarkCode ==Funs.GetNewInt(this.txtRemarkCode.Text.Trim()) && (x.InspectionEquipmentId != this.InspectionEquipmentId || (this.InspectionEquipmentId == null && x.InspectionEquipmentId != null)));
var q = Funs.DB.Comprehensive_InspectionEquipment.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.RemarkCode == Funs.GetNewInt(this.txtRemarkCode.Text.Trim()) && (x.InspectionEquipmentId != this.InspectionEquipmentId || (this.InspectionEquipmentId == null && x.InspectionEquipmentId != null)));
if (q != null)
{
Alert.ShowInTop("标志编号已存在!", MessageBoxIcon.Warning);

View File

@ -296,6 +296,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
inspectionMachone.IsCheckOK = this.rblIsCheckOK.SelectedValue == "true" ? true : false;
inspectionMachone.LeaveDate = Funs.GetNewDateTime(this.txtLeaveDate.Text);
inspectionMachone.UnitsCount = Funs.GetNewInt(this.txtUnitsCount.Text.Trim());
inspectionMachone.RemarkCode = Funs.GetNewInt(this.txtRemarkCode.Text.Trim());
if (!string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
inspectionMachone.AuditMan = drpAudit.SelectedValue;

View File

@ -395,6 +395,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
unitIds = unitIds.Substring(0, unitIds.LastIndexOf(","));
}
nCRManagement.ReceiveUnit = unitIds;
nCRManagement.RemarkCode = Funs.GetNewInt(this.txtRemarkCode.Text.Trim());
if (string.IsNullOrEmpty(this.NCRManagementId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))

View File

@ -2410,9 +2410,9 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
u.UnitId,
u.UnitName
};
var AllList = query.ToList();//项目数
var AllList = query.Where(x => x.IsReply == true).ToList();//项目数
//本月数
var monethCount = query.Where(x => (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
var monethCount = query.Where(x => x.IsReply == true && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
var yzCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));//本月业主/ 监理返回数量
int totalReturnCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null).Count();//总的已返回数量
var NoBackCount = AllList.Count() - totalReturnCount;//累计未返回数量

View File

@ -2402,7 +2402,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
u.UnitId,
u.UnitName
};
var AllList = query.ToList();//项目数
var AllList = query.Where(x => x.IsReply == true).ToList();//项目数
//本月数
var monethCount = query.Where(x => (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));
var yzCount = query.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null && (x.ReceiveDate >= Convert.ToDateTime(startDate) && x.ReceiveDate <= Convert.ToDateTime(endDate)));//本月业主/ 监理返回数量

View File

@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummary.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummary" %>
<!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" EnableAjax="false" ShowHeader="false" Title="类似项目施工经验总结清单" EnableCollapse="true" OnPageIndexChange="Grid1_PageIndexChange"
runat="server" BoxFlex="1" DataKeyNames="ConExperienceSummaryId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="ConExperienceSummaryId" AllowSorting="true" SortField="CompileDate"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtFileCode" runat="server" Label="文件编号" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" LabelAlign="Right"></f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" Icon="Add" EnablePostBack="true" runat="server" OnClick="btnNew_Click" ToolTip="新增" Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click" Hidden="true">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<%--<f:RenderField ColumnID="FileCode" DataField="FileCode" FieldType="String" HeaderText="文件编号" TextAlign="Center"
HeaderTextAlign="Center" Width="220px">
</f:RenderField>--%>
<f:RenderField ColumnID="FileName" DataField="FileName" FieldType="String" HeaderText="文件名称" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<%--<f:RenderField ColumnID="CompileManName" DataField="CompileManName" FieldType="String" HeaderText="编制人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Auditor" DataField="Auditor" FieldType="String" HeaderText="审核人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Approver" DataField="Approver" FieldType="String" HeaderText="批准人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="ApprovalDate" DataField="ApprovalDate" FieldType="Date" Renderer="Date" HeaderText="批准日期" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>--%>
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink"
Text='<%# BLL.AttachFileService.GetBtnFileUrl(Eval("ConExperienceSummaryId")) %>' ToolTip="附件查看"></asp:LinkButton>
</ItemTemplate>
</f:TemplateField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</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="900px" Height="300px">
</f:Window>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="700px" Height="560px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="false" runat="server"
IsModal="true" Width="700px" Height="500px">
</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" Hidden="true">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,350 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ConExperienceSummary : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
}
}
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"SELECT p.ConExperienceSummaryId,
p.ProjectId,
p.FileName,
p.CompileMan,
p.CompileDate,
u.UserName AS CompileManName"
+ @" FROM QualityPlanning_ConExperienceSummary AS p"
+ @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ @" WHERE p.ProjectId=@projectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
//if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
//{
// strSql += " AND p.FileCode LIKE @fileCode";
// listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
//}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
strSql += " AND p.FileName LIKE @fileName";
listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 分页下拉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#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("ConExperienceSummaryEdit.aspx", "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ConExperienceSummaryEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(sender, e);
}
#endregion
#region
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var con = BLL.ConExperienceSummaryService.GetConExperienceSummaryById(rowID);
if (con != null)
{
BLL.ConExperienceSummaryService.DeleteConExperienceSummaryById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ConExperienceSummaryDataIn.aspx", "导入 - ")));
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = Const.ConExperienceSummaryTemUrl;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var lists = (from x in Funs.DB.QualityPlanning_ConExperienceSummary
where x.ProjectId == this.CurrUser.LoginProjectId
select x);
//if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
//{
// lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
//}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
}
lists = lists.OrderByDescending(x => x.CompileDate);
if (lists != null)
{
string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
newUrl = uploadfilepath.Replace("类似项目施工经验总结清单导入模板", "类似项目施工经验总结清单(" + projectName + DateTime.Now.ToString("yyyyMMdd") + "");
File.Copy(uploadfilepath, newUrl);
// 第一步:读取文件流
NPOI.SS.UserModel.IWorkbook workbook;
using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
{
//workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
}
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellStyle.WrapText = true;//自动换行
var font = workbook.CreateFont();
font.FontHeightInPoints = 11;
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
NPOI.SS.UserModel.ICell cell;
int i = 2;
foreach (var item in lists)
{
// 第二步:创建新数据行
row = sheet.CreateRow(i);
// 添加数据
//cell = row.CreateCell(0);
//cell.CellStyle = cellStyle;
//cell.SetCellValue(item.FileCode);//文件编号
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.FileName);//文件名称
//cell = row.CreateCell(2);
//cell.CellStyle = cellStyle;
//cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
//cell = row.CreateCell(3);
//cell.CellStyle = cellStyle;
//cell.SetCellValue(item.Auditor);//审核人
//cell = row.CreateCell(4);
//cell.CellStyle = cellStyle;
//cell.SetCellValue(item.Approver);//批准人
//cell = row.CreateCell(5);
//cell.CellStyle = cellStyle;
//cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
i++;
}
// 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
workbook.Close();
}
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == BLL.Const._Null)
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ConExperienceSummaryMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
else
{
this.Grid1.EnableRowDoubleClickEvent = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnImport.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,204 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ConExperienceSummary {
/// <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>
/// ToolSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar ToolSearch;
/// <summary>
/// txtFileCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileCode;
/// <summary>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbtnFileUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <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;
}
}

View File

@ -0,0 +1,68 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummaryDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummaryDataIn" %>
<!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" AutoSizePanelID="SimpleForm1" runat="server" OnCustomEvent="PageManager1_CustomEvent" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdFileName" runat="server">
</f:HiddenField>
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" ToolTip="审核" ValidateForms="SimpleForm1"
OnClick="btnAudit_Click">
</f:Button>
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" ValidateForms="SimpleForm1"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
<f:HiddenField ID="hdCheckResult" runat="server">
</f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:FileUpload runat="server" ID="fuAttachUrl" EmptyText="选择要导入的文件" Label="选择要导入的文件"
LabelWidth="150px">
</f:FileUpload>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="gvErrorInfo" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="类似项目施工经验总结清单" EnableCollapse="true"
runat="server" BoxFlex="1" AllowCellEditing="true" ClicksToEdit="2" AllowSorting="true"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# gvErrorInfo.PageIndex * gvErrorInfo.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:BoundField DataField="Row" HeaderText="错误行号">
</f:BoundField>
<f:BoundField DataField="Column" HeaderText="错误列">
</f:BoundField>
<f:BoundField DataField="Reason" HeaderText="错误类型">
</f:BoundField>
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,438 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ConExperienceSummaryDataIn : PageBase
{
#region
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static List<Model.ErrorInfo> errorInfos = new List<Model.ErrorInfo>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.hdCheckResult.Text = string.Empty;
this.hdFileName.Text = string.Empty;
if (errorInfos != null)
{
errorInfos.Clear();
}
}
}
#endregion
#region
/// <summary>
/// 审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAudit_Click(object sender, EventArgs e)
{
try
{
if (this.fuAttachUrl.HasFile == false)
{
ShowNotify("请您选择Excel文件", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls")
{
ShowNotify("只可以选择Excel文件", MessageBoxIcon.Warning);
return;
}
if (errorInfos != null)
{
errorInfos.Clear();
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
string filePath = initFullPath + this.hdFileName.Text;
this.fuAttachUrl.PostedFile.SaveAs(filePath);
ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
}
catch (Exception ex)
{
ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL(ds.Tables[0], 1);
hdCheckResult.Text = "1";
}
catch (Exception exc)
{
Response.Write(exc);
//return null;
// return dt;
}
finally
{
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集行数</param>
/// <returns></returns>
private bool AddDatasetToSQL(DataTable pds, int Cols)
{
string result = string.Empty;
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
return false;
}
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_ConExperienceSummary
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
//var users = from x in Funs.DB.Project_ProjectUser
// join y in Funs.DB.Sys_User on x.UserId equals y.UserId
// where x.ProjectId == this.CurrUser.LoginProjectId
// select y;
for (int i = 1; i < ir; i++)
{
Model.QualityPlanning_ConExperienceSummary oldViewInfo = new Model.QualityPlanning_ConExperienceSummary();
//string row0 = pds.Rows[i][0].ToString().Trim();
//if (string.IsNullOrEmpty(row0))
//{
// result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
//}
string row0 = pds.Rows[i][0].ToString().Trim();
if (string.IsNullOrEmpty(row0))
{
result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
}
//string row2 = pds.Rows[i][2].ToString().Trim();
//if (!string.IsNullOrEmpty(row2))
//{
// var u = users.Where(x => x.UserName == row2).FirstOrDefault();
// if (u == null)
// {
// result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
// }
//}
//string row5 = pds.Rows[i][5].ToString().Trim();
//if (!string.IsNullOrEmpty(row5))
//{
// try
// {
// DateTime d = Convert.ToDateTime(row5);
// }
// catch (Exception)
// {
// result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
// }
//}
}
if (!string.IsNullOrEmpty(result))
{
result = result.Substring(0, result.LastIndexOf("|"));
}
errorInfos.Clear();
if (!string.IsNullOrEmpty(result))
{
string results = result;
List<string> errorInfoList = results.Split('|').ToList();
foreach (var item in errorInfoList)
{
string[] errors = item.Split(',');
Model.ErrorInfo errorInfo = new Model.ErrorInfo();
errorInfo.Row = errors[0];
errorInfo.Column = errors[1];
errorInfo.Reason = errors[2];
errorInfos.Add(errorInfo);
}
if (errorInfos.Count > 0)
{
this.gvErrorInfo.DataSource = errorInfos;
this.gvErrorInfo.DataBind();
}
}
else
{
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(hdCheckResult.Text))
{
if (errorInfos.Count <= 0)
{
string rootPath = Server.MapPath("~/");
ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
hdCheckResult.Text = string.Empty;
ShowNotify("导入成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData2(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0], 1);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
private bool AddDatasetToSQL2(DataTable pds, int Cols)
{
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
}
string result = string.Empty;
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_ConExperienceSummary
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
//var users = from x in Funs.DB.Project_ProjectUser
// join y in Funs.DB.Sys_User on x.UserId equals y.UserId
// where x.ProjectId == this.CurrUser.LoginProjectId
// select y;
for (int i = 1; i < ir; i++)
{
string row0 = pds.Rows[i][0].ToString().Trim();
if (!string.IsNullOrEmpty(row0))
{
Model.QualityPlanning_ConExperienceSummary oldViewInfo = new Model.QualityPlanning_ConExperienceSummary();
oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileName == pds.Rows[i][0].ToString().Trim());
if (oldViewInfo == null)
{
Model.QualityPlanning_ConExperienceSummary newData = new Model.QualityPlanning_ConExperienceSummary();
newData.ProjectId = this.CurrUser.LoginProjectId;
//newData.FileCode = pds.Rows[i][0].ToString().Trim();
newData.FileName = pds.Rows[i][0].ToString().Trim();
//if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
//{
// newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
//}
//newData.Auditor = pds.Rows[i][3].ToString().Trim();
//newData.Approver = pds.Rows[i][4].ToString().Trim();
//newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
newData.CompileMan = this.CurrUser.UserId;
newData.CompileDate = DateTime.Now;
newData.ConExperienceSummaryId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
BLL.ConExperienceSummaryService.AddConExperienceSummary(newData);
}
else
{
//oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
oldViewInfo.FileName = pds.Rows[i][0].ToString().Trim();
oldViewInfo.CompileMan = this.CurrUser.UserId;
oldViewInfo.CompileDate = DateTime.Now;
//if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
//{
// oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
//}
//oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
//oldViewInfo.Approver = pds.Rows[i][4].ToString().Trim();
//oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
BLL.ConExperienceSummaryService.UpdateExperienceSummary(oldViewInfo);
}
}
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 下载模板按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.ConExperienceSummaryTemUrl;
string filePath = Const.ConExperienceSummaryTemUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
}
}

View File

@ -0,0 +1,123 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ConExperienceSummaryDataIn {
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// btnAudit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// hdCheckResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdCheckResult;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fuAttachUrl;
/// <summary>
/// gvErrorInfo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvErrorInfo;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
}
}

View File

@ -0,0 +1,65 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConExperienceSummaryEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ConExperienceSummaryEdit" %>
<!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="SimpleForm1" />
<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="txtFileCode" runat="server" Label="文件编号" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>--%>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<%--<f:FormRow>
<Items>
<f:DropDownList ID="drpCompileMan" runat="server" Label="编制人" LabelAlign="Right" EnableEdit="true"></f:DropDownList>
<f:TextBox ID="txtAuditor" runat="server" Label="审核人" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtApprover" runat="server" Label="批准人" LabelAlign="Right"></f:TextBox>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="批准日期" ID="txtApprovalDate"
LabelAlign="Right">
</f:DatePicker>
</Items>
</f:FormRow>--%>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" Label="上传附件" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,152 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ConExperienceSummaryEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string ConExperienceSummaryId
{
get
{
return (string)ViewState["ConExperienceSummaryId"];
}
set
{
ViewState["ConExperienceSummaryId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
//BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
this.ConExperienceSummaryId = Request.Params["id"];
Model.QualityPlanning_ConExperienceSummary con = BLL.ConExperienceSummaryService.GetConExperienceSummaryById(this.ConExperienceSummaryId);
if (con != null)
{
this.ConExperienceSummaryId = con.ConExperienceSummaryId;
this.hdAttachUrl.Text = this.ConExperienceSummaryId;
//this.txtFileCode.Text = projectQualityPlan.FileCode;
this.txtFileName.Text = con.FileName;
//if (!string.IsNullOrEmpty(projectQualityPlan.CompileMan))
//{
// this.drpCompileMan.SelectedValue = projectQualityPlan.CompileMan;
//}
//this.txtAuditor.Text = projectQualityPlan.Auditor;
//this.txtApprover.Text = projectQualityPlan.Approver;
//this.txtApprovalDate.Text = projectQualityPlan.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", projectQualityPlan.ApprovalDate) : "";
}
else
{
//this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
//this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.btnSave.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.QualityPlanning_ConExperienceSummary newData = new Model.QualityPlanning_ConExperienceSummary();
newData.ProjectId = this.CurrUser.LoginProjectId;
//projectQualityPlan.FileCode = this.txtFileCode.Text.Trim();
newData.FileName = this.txtFileName.Text.Trim();
//if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
//{
// projectQualityPlan.CompileMan = this.drpCompileMan.SelectedValue;
//}
newData.CompileMan = this.CurrUser.UserId;
newData.CompileDate = DateTime.Now;
//projectQualityPlan.Auditor = this.txtAuditor.Text.Trim();
//projectQualityPlan.Approver = this.txtApprover.Text.Trim();
//projectQualityPlan.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
if (string.IsNullOrEmpty(this.ConExperienceSummaryId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
{
newData.ConExperienceSummaryId = this.hdAttachUrl.Text;
}
else
{
newData.ConExperienceSummaryId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
this.hdAttachUrl.Text = newData.ConExperienceSummaryId;
}
BLL.ConExperienceSummaryService.AddConExperienceSummary(newData);
}
else
{
newData.ConExperienceSummaryId = this.ConExperienceSummaryId;
BLL.ConExperienceSummaryService.UpdateExperienceSummary(newData);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
{
this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ConExperienceSummary));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/ConExperienceSummary&menuId={1}", this.hdAttachUrl.Text, BLL.Const.ConExperienceSummaryMenuId)));
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ConExperienceSummaryMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,114 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ConExperienceSummaryEdit {
/// <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>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,207 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Organizational.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.Organizational" %>
<!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>
<style type="text/css">
.auto-style91 {
width: 1304px;
height: 675px;
margin-bottom: 0px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<table style="background-color: white;">
<tr style="height: 50px">
<td>
<asp:Label ID="lblProjectName" runat="server" Text="项目名称:"></asp:Label>
</td>
</tr>
<tr>
<td>
<div style="background-image: url('../../res/images/Organizational.png');" class="auto-style91">
<table class="auto-style91">
<tr style="height: 90px; vertical-align: central">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td colspan="3">
<asp:Label ID="Label1" runat="server" Text="项目经理:"></asp:Label>
</td>
<td style="width: 20px"></td>
<td style="width: 170px"></td>
<td style="width: 35px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td></td>
</tr>
<tr style="height: 75px">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px"></td>
<td style="width: 35px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td></td>
</tr>
<tr style="height: 70px">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px">
<asp:Label ID="Label2" runat="server" Text="设计经理:"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px">
<asp:Label ID="Label3" runat="server" Text="采购经理:"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px">
<asp:Label ID="Label4" runat="server" Text="施工经理:"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px">
<asp:Label ID="Label5" runat="server" Text="质量经理:"></asp:Label></td>
<td style="width: 35px"></td>
<td colspan="2">
<asp:Label ID="Label6" runat="server" Text="HSE经理"></asp:Label></td>
<td style="width: 25px"></td>
<td style="width: 170px">
<asp:Label ID="Label7" runat="server" Text="开车经理:"></asp:Label>
</td>
<td></td>
</tr>
<tr style="height: 82px">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px"></td>
<td style="width: 35px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td></td>
</tr>
<tr style="height: 85px">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px; vertical-align:top">
<asp:Label ID="Label8" runat="server" Text="仓库管理员:"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px; vertical-align:top">
<asp:Label ID="Label9" runat="server" Text="文控工程师:"></asp:Label></td>
<td style="width: 35px"></td>
<td style="width: 150px; vertical-align:top">
<asp:Label ID="Label10" runat="server" Text="HSE工程师"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px; vertical-align:top">
<asp:Label ID="Label11" runat="server" Text="开车工程师:"></asp:Label></td>
<td></td>
</tr>
<tr style="height: 65px">
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px"></td>
<td style="width: 35px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td></td>
</tr>
<tr style="height: 100px">
<td style="width: 25px"></td>
<td colspan="2" style="vertical-align:top">
<asp:Label ID="Label12" runat="server" Text="土建工程师:"></asp:Label></td>
<td style="width: 20px"></td>
<td colspan="3" style="vertical-align:top">
<asp:Label ID="Label13" runat="server" Text="设备工程师:"></asp:Label></td>
<td style="width: 20px"></td>
<td colspan="2" style="vertical-align:top">
<asp:Label ID="Label14" runat="server" Text="管道工程师:"></asp:Label></td>
<td style="width: 20px"></td>
<td style="width: 170px;vertical-align:top">
<asp:Label ID="Label15" runat="server" Text="电气工程师:"></asp:Label></td>
<td style="width: 35px"></td>
<td colspan="3" style="vertical-align:top">
<asp:Label ID="Label16" runat="server" Text="仪表工程师:"></asp:Label></td>
<td style="width: 170px"></td>
<td></td>
</tr>
<tr>
<td style="width: 25px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td style="width: 20px"></td>
<td style="width: 17px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 160px"></td>
<td style="width: 20px"></td>
<td style="width: 20px"></td>
<td style="width: 170px"></td>
<td style="width: 35px"></td>
<td style="width: 150px"></td>
<td style="width: 20px"></td>
<td style="width: 25px"></td>
<td style="width: 170px"></td>
<td></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form>
</body>
</html>

View File

@ -0,0 +1,510 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class Organizational : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string projectId = this.CurrUser.LoginProjectId;
string unitId = this.CurrUser.UnitId;
this.lblProjectName.Text = "项目名称:" + BLL.ProjectService.GetProjectNameByProjectId(projectId);
var unit = (from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == projectId
&& x.UnitType == BLL.Const.ProjectUnitType_2
&& x.UnitId == unitId
select y).Count();
if (unit>0)
{
string projectManagerName = string.Empty;
var projectManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "项目经理");
if (projectManager != null)
{
foreach (var item in projectManager)
{
projectManagerName += item + ",";
}
if (!string.IsNullOrEmpty(projectManagerName))
{
this.Label1.Text = "项目经理:" + projectManagerName.Substring(0, projectManagerName.LastIndexOf(','));
}
}
string sjName = string.Empty;
var sj = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "设计经理");
if (sj != null)
{
foreach (var item in sj)
{
sjName += item + ",";
}
if (!string.IsNullOrEmpty(sjName))
{
this.Label2.Text = "设计经理:" + sjName.Substring(0, sjName.LastIndexOf(','));
}
}
string cgName = string.Empty;
var cg = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "采购经理");
if (cg != null)
{
foreach (var item in cg)
{
cgName += item + ",";
}
if (!string.IsNullOrEmpty(cgName))
{
this.Label3.Text = "采购经理:" + cgName.Substring(0, cgName.LastIndexOf(','));
}
}
string name4 = string.Empty;
var con = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "施工经理");
if (con != null)
{
foreach (var item in con)
{
name4 += item + ",";
}
if (!string.IsNullOrEmpty(name4))
{
this.Label4.Text = "施工经理:" + name4.Substring(0, name4.LastIndexOf(','));
}
}
string name5 = string.Empty;
var qa = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "质量经理");
if (qa != null)
{
foreach (var item in qa)
{
name5 += item + ",";
}
if (!string.IsNullOrEmpty(name5))
{
this.Label5.Text = "质量经理:" + name5.Substring(0, name5.LastIndexOf(','));
}
}
string name6 = string.Empty;
var hseManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "HSE经理");
if (hseManager != null)
{
foreach (var item in hseManager)
{
name6 += item + ",";
}
if (!string.IsNullOrEmpty(name6))
{
this.Label6.Text = "HSE经理" + name6.Substring(0, name6.LastIndexOf(','));
}
}
string name7 = string.Empty;
var carManager = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "开车经理");
if (carManager != null)
{
foreach (var item in carManager)
{
name7 += item + ",";
}
if (!string.IsNullOrEmpty(name7))
{
this.Label7.Text = "开车经理:" + name7.Substring(0, name7.LastIndexOf(','));
}
}
string warehousemanName = string.Empty;
var warehousemanLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "仓库管理员");
if (warehousemanLists != null)
{
foreach (var item in warehousemanLists)
{
warehousemanName += item + ",";
}
if (!string.IsNullOrEmpty(warehousemanName))
{
warehousemanName = warehousemanName.Substring(0, warehousemanName.LastIndexOf(','));
}
}
this.Label8.Text = "仓库管理员:" + warehousemanName;
string docName = string.Empty;
var doc = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "文控工程师");
if (doc != null)
{
foreach (var item in doc)
{
docName += item + ",";
}
if (!string.IsNullOrEmpty(docName))
{
docName = docName.Substring(0, docName.LastIndexOf(','));
}
}
this.Label9.Text = "文控工程师:" + docName;
string hseEngineerName = string.Empty;
var hseEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "HSE工程师");
if (hseEngineerLists != null)
{
foreach (var item in hseEngineerLists)
{
hseEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(hseEngineerName))
{
hseEngineerName = hseEngineerName.Substring(0, hseEngineerName.LastIndexOf(','));
}
}
this.Label10.Text = "HSE工程师" + hseEngineerName;
string carEngineerName = string.Empty;
var carEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "开车工程师");
if (carEngineerLists != null)
{
foreach (var item in carEngineerLists)
{
carEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(carEngineerName))
{
carEngineerName = carEngineerName.Substring(0, carEngineerName.LastIndexOf(','));
}
}
this.Label11.Text = "开车工程师:" + carEngineerName;
string CVEngineerName = string.Empty;
var CVEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "土建工程师");
if (CVEngineerLists != null)
{
foreach (var item in CVEngineerLists)
{
CVEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(CVEngineerName))
{
CVEngineerName = CVEngineerName.Substring(0, CVEngineerName.LastIndexOf(','));
}
}
this.Label12.Text = "土建工程师:" + CVEngineerName;
string FEEngineerName = string.Empty;
var FEEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "设备工程师");
if (FEEngineerLists != null)
{
foreach (var item in FEEngineerLists)
{
FEEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(FEEngineerName))
{
FEEngineerName = FEEngineerName.Substring(0, FEEngineerName.LastIndexOf(','));
}
}
this.Label13.Text = "设备工程师:" + FEEngineerName;
string PDEngineerName = string.Empty;
var PDEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "管道工程师");
if (PDEngineerLists != null)
{
foreach (var item in PDEngineerLists)
{
PDEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(PDEngineerName))
{
PDEngineerName = PDEngineerName.Substring(0, PDEngineerName.LastIndexOf(','));
}
}
this.Label14.Text = "管道工程师:" + PDEngineerName;
string EHEngineerName = string.Empty;
var EHEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "电气工程师");
if (EHEngineerLists != null)
{
foreach (var item in EHEngineerLists)
{
EHEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(EHEngineerName))
{
EHEngineerName = EHEngineerName.Substring(0, EHEngineerName.LastIndexOf(','));
}
}
this.Label15.Text = "电气工程师:" + EHEngineerName;
string EAEngineerName = string.Empty;
var EAEngineerLists = BLL.UserService.GetUserNameListsByUnitIdWorkPostName(projectId, unitId, "仪表工程师");
if (EAEngineerLists != null)
{
foreach (var item in EAEngineerLists)
{
EAEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(EAEngineerName))
{
EAEngineerName = EAEngineerName.Substring(0, EAEngineerName.LastIndexOf(','));
}
}
this.Label16.Text = "仪表工程师:" + EAEngineerName;
}
else
{
string projectManagerName = string.Empty;
var projectManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "项目经理");
if (projectManager != null)
{
foreach (var item in projectManager)
{
projectManagerName += item + ",";
}
if (!string.IsNullOrEmpty(projectManagerName))
{
this.Label1.Text = "项目经理:" + projectManagerName.Substring(0, projectManagerName.LastIndexOf(','));
}
}
string sjName = string.Empty;
var sj = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "设计经理");
if (sj != null)
{
foreach (var item in sj)
{
sjName += item + ",";
}
if (!string.IsNullOrEmpty(sjName))
{
this.Label2.Text = "设计经理:" + sjName.Substring(0, sjName.LastIndexOf(','));
}
}
string cgName = string.Empty;
var cg = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "采购经理");
if (cg != null)
{
foreach (var item in cg)
{
cgName += item + ",";
}
if (!string.IsNullOrEmpty(cgName))
{
this.Label3.Text = "采购经理:" + cgName.Substring(0, cgName.LastIndexOf(','));
}
}
string name4 = string.Empty;
var con = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "施工经理");
if (con != null)
{
foreach (var item in con)
{
name4 += item + ",";
}
if (!string.IsNullOrEmpty(name4))
{
this.Label4.Text = "施工经理:" + name4.Substring(0, name4.LastIndexOf(','));
}
}
string name5 = string.Empty;
var qa = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "质量经理");
if (qa != null)
{
foreach (var item in qa)
{
name5 += item + ",";
}
if (!string.IsNullOrEmpty(name5))
{
this.Label5.Text = "质量经理:" + name5.Substring(0, name5.LastIndexOf(','));
}
}
string name6 = string.Empty;
var hseManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "HSE经理");
if (hseManager != null)
{
foreach (var item in hseManager)
{
name6 += item + ",";
}
if (!string.IsNullOrEmpty(name6))
{
this.Label6.Text = "HSE经理" + name6.Substring(0, name6.LastIndexOf(','));
}
}
string name7 = string.Empty;
var carManager = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "开车经理");
if (carManager != null)
{
foreach (var item in carManager)
{
name7 += item + ",";
}
if (!string.IsNullOrEmpty(name7))
{
this.Label7.Text = "开车经理:" + name7.Substring(0, name7.LastIndexOf(','));
}
}
string warehousemanName = string.Empty;
var warehousemanLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "仓库管理员");
if (warehousemanLists != null)
{
foreach (var item in warehousemanLists)
{
warehousemanName += item + ",";
}
if (!string.IsNullOrEmpty(warehousemanName))
{
warehousemanName = warehousemanName.Substring(0, warehousemanName.LastIndexOf(','));
}
}
this.Label8.Text = "仓库管理员:" + warehousemanName;
string docName = string.Empty;
var doc = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "文控工程师");
if (doc != null)
{
foreach (var item in doc)
{
docName += item + ",";
}
if (!string.IsNullOrEmpty(docName))
{
docName = docName.Substring(0, docName.LastIndexOf(','));
}
}
this.Label9.Text = "文控工程师:" + docName;
string hseEngineerName = string.Empty;
var hseEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "HSE工程师");
if (hseEngineerLists != null)
{
foreach (var item in hseEngineerLists)
{
hseEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(hseEngineerName))
{
hseEngineerName = hseEngineerName.Substring(0, hseEngineerName.LastIndexOf(','));
}
}
this.Label10.Text = "HSE工程师" + hseEngineerName;
string carEngineerName = string.Empty;
var carEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "开车工程师");
if (carEngineerLists != null)
{
foreach (var item in carEngineerLists)
{
carEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(carEngineerName))
{
carEngineerName = carEngineerName.Substring(0, carEngineerName.LastIndexOf(','));
}
}
this.Label11.Text = "开车工程师:" + carEngineerName;
string CVEngineerName = string.Empty;
var CVEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "土建工程师");
if (CVEngineerLists != null)
{
foreach (var item in CVEngineerLists)
{
CVEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(CVEngineerName))
{
CVEngineerName = CVEngineerName.Substring(0, CVEngineerName.LastIndexOf(','));
}
}
this.Label12.Text = "土建工程师:" + CVEngineerName;
string FEEngineerName = string.Empty;
var FEEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "设备工程师");
if (FEEngineerLists != null)
{
foreach (var item in FEEngineerLists)
{
FEEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(FEEngineerName))
{
FEEngineerName = FEEngineerName.Substring(0, FEEngineerName.LastIndexOf(','));
}
}
this.Label13.Text = "设备工程师:" + FEEngineerName;
string PDEngineerName = string.Empty;
var PDEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "管道工程师");
if (PDEngineerLists != null)
{
foreach (var item in PDEngineerLists)
{
PDEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(PDEngineerName))
{
PDEngineerName = PDEngineerName.Substring(0, PDEngineerName.LastIndexOf(','));
}
}
this.Label14.Text = "管道工程师:" + PDEngineerName;
string EHEngineerName = string.Empty;
var EHEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "电气工程师");
if (EHEngineerLists != null)
{
foreach (var item in EHEngineerLists)
{
EHEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(EHEngineerName))
{
EHEngineerName = EHEngineerName.Substring(0, EHEngineerName.LastIndexOf(','));
}
}
this.Label15.Text = "电气工程师:" + EHEngineerName;
string EAEngineerName = string.Empty;
var EAEngineerLists = BLL.UserService.GetUserNameListsByWorkPostName(projectId, "仪表工程师");
if (EAEngineerLists != null)
{
foreach (var item in EAEngineerLists)
{
EAEngineerName += item + ",";
}
if (!string.IsNullOrEmpty(EAEngineerName))
{
EAEngineerName = EAEngineerName.Substring(0, EAEngineerName.LastIndexOf(','));
}
}
this.Label16.Text = "仪表工程师:" + EAEngineerName;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,177 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class Organizational {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProjectName;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// Label4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label4;
/// <summary>
/// Label5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label5;
/// <summary>
/// Label6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label6;
/// <summary>
/// Label7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label7;
/// <summary>
/// Label8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label8;
/// <summary>
/// Label9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label9;
/// <summary>
/// Label10 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label10;
/// <summary>
/// Label11 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label11;
/// <summary>
/// Label12 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label12;
/// <summary>
/// Label13 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label13;
/// <summary>
/// Label14 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label14;
/// <summary>
/// Label15 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label15;
/// <summary>
/// Label16 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label16;
}
}

View File

@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlan.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlan" %>
<!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" EnableAjax="false" ShowHeader="false" Title="项目质量计划" EnableCollapse="true" OnPageIndexChange="Grid1_PageIndexChange"
runat="server" BoxFlex="1" DataKeyNames="ProjectQualityPlanId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="ProjectQualityPlanId" AllowSorting="true" SortField="ApprovalDate"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtFileCode" runat="server" Label="文件编号" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" LabelAlign="Right"></f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" Icon="Add" EnablePostBack="true" runat="server" OnClick="btnNew_Click" ToolTip="新增" Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click" Hidden="true">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="FileCode" DataField="FileCode" FieldType="String" HeaderText="文件编号" TextAlign="Center"
HeaderTextAlign="Center" Width="220px">
</f:RenderField>
<f:RenderField ColumnID="FileName" DataField="FileName" FieldType="String" HeaderText="文件名称" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="CompileManName" DataField="CompileManName" FieldType="String" HeaderText="编制人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Auditor" DataField="Auditor" FieldType="String" HeaderText="审核人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Approver" DataField="Approver" FieldType="String" HeaderText="批准人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="ApprovalDate" DataField="ApprovalDate" FieldType="Date" Renderer="Date" HeaderText="批准日期" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink"
Text='<%# BLL.AttachFileService.GetBtnFileUrl(Eval("ProjectQualityPlanId")) %>' ToolTip="附件查看"></asp:LinkButton>
</ItemTemplate>
</f:TemplateField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</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="900px" Height="300px">
</f:Window>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="700px" Height="560px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="false" runat="server"
IsModal="true" Width="700px" Height="500px">
</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" Hidden="true">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,354 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ProjectQualityPlan : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
}
}
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"SELECT p.ProjectQualityPlanId,
p.ProjectId,
p.FileCode,
p.FileName,
p.CompileMan,
p.CompileDate,
p.Auditor,
p.Approver,
p.ApprovalDate,
u.UserName AS CompileManName"
+ @" FROM QualityPlanning_ProjectQualityPlan AS p"
+ @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ @" WHERE p.ProjectId=@projectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
{
strSql += " AND p.FileCode LIKE @fileCode";
listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
strSql += " AND p.FileName LIKE @fileName";
listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 分页下拉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#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("ProjectQualityPlanEdit.aspx", "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectQualityPlanEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(sender, e);
}
#endregion
#region
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var plan = BLL.ProjectQualityPlanService.GetProjectQualityPlanById(rowID);
if (plan != null)
{
BLL.ProjectQualityPlanService.DeleteProjectQualityPlanById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ProjectQualityPlanDataIn.aspx", "导入 - ")));
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = Const.ProjectQualityPlanTemUrl;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var lists = (from x in Funs.DB.QualityPlanning_ProjectQualityPlan
where x.ProjectId == this.CurrUser.LoginProjectId
select x);
if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
{
lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
}
lists = lists.OrderByDescending(x => x.ApprovalDate);
if (lists != null)
{
string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
newUrl = uploadfilepath.Replace("项目质量计划导入模板", "项目质量计划(" + projectName + DateTime.Now.ToString("yyyyMMdd") + "");
File.Copy(uploadfilepath, newUrl);
// 第一步:读取文件流
NPOI.SS.UserModel.IWorkbook workbook;
using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
{
//workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
}
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellStyle.WrapText = true;//自动换行
var font = workbook.CreateFont();
font.FontHeightInPoints = 11;
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
NPOI.SS.UserModel.ICell cell;
int i = 2;
foreach (var item in lists)
{
// 第二步:创建新数据行
row = sheet.CreateRow(i);
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.FileCode);//文件编号
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.FileName);//文件名称
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
cell = row.CreateCell(3);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.Auditor);//审核人
cell = row.CreateCell(4);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.Approver);//批准人
cell = row.CreateCell(5);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
i++;
}
// 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
workbook.Close();
}
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == BLL.Const._Null)
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectQualityPlanMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
else
{
this.Grid1.EnableRowDoubleClickEvent = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnImport.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,204 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ProjectQualityPlan {
/// <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>
/// ToolSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar ToolSearch;
/// <summary>
/// txtFileCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileCode;
/// <summary>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbtnFileUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <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;
}
}

View File

@ -0,0 +1,68 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlanDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlanDataIn" %>
<!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" AutoSizePanelID="SimpleForm1" runat="server" OnCustomEvent="PageManager1_CustomEvent" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdFileName" runat="server">
</f:HiddenField>
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" ToolTip="审核" ValidateForms="SimpleForm1"
OnClick="btnAudit_Click">
</f:Button>
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" ValidateForms="SimpleForm1"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
<f:HiddenField ID="hdCheckResult" runat="server">
</f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:FileUpload runat="server" ID="fuAttachUrl" EmptyText="选择要导入的文件" Label="选择要导入的文件"
LabelWidth="150px">
</f:FileUpload>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="gvErrorInfo" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="项目质量计划" EnableCollapse="true"
runat="server" BoxFlex="1" AllowCellEditing="true" ClicksToEdit="2" AllowSorting="true"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# gvErrorInfo.PageIndex * gvErrorInfo.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:BoundField DataField="Row" HeaderText="错误行号">
</f:BoundField>
<f:BoundField DataField="Column" HeaderText="错误列">
</f:BoundField>
<f:BoundField DataField="Reason" HeaderText="错误类型">
</f:BoundField>
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,435 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ProjectQualityPlanDataIn : PageBase
{
#region
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static List<Model.ErrorInfo> errorInfos = new List<Model.ErrorInfo>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.hdCheckResult.Text = string.Empty;
this.hdFileName.Text = string.Empty;
if (errorInfos != null)
{
errorInfos.Clear();
}
}
}
#endregion
#region
/// <summary>
/// 审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAudit_Click(object sender, EventArgs e)
{
try
{
if (this.fuAttachUrl.HasFile == false)
{
ShowNotify("请您选择Excel文件", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls")
{
ShowNotify("只可以选择Excel文件", MessageBoxIcon.Warning);
return;
}
if (errorInfos != null)
{
errorInfos.Clear();
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
string filePath = initFullPath + this.hdFileName.Text;
this.fuAttachUrl.PostedFile.SaveAs(filePath);
ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
}
catch (Exception ex)
{
ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL(ds.Tables[0], 6);
hdCheckResult.Text = "1";
}
catch (Exception exc)
{
Response.Write(exc);
//return null;
// return dt;
}
finally
{
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集行数</param>
/// <returns></returns>
private bool AddDatasetToSQL(DataTable pds, int Cols)
{
string result = string.Empty;
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
return false;
}
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_ProjectQualityPlan
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var users = from x in Funs.DB.Project_ProjectUser
join y in Funs.DB.Sys_User on x.UserId equals y.UserId
where x.ProjectId == this.CurrUser.LoginProjectId
select y;
for (int i = 1; i < ir; i++)
{
Model.QualityPlanning_ProjectQualityPlan oldViewInfo = new Model.QualityPlanning_ProjectQualityPlan();
string row0 = pds.Rows[i][0].ToString().Trim();
if (string.IsNullOrEmpty(row0))
{
result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
}
string row1 = pds.Rows[i][1].ToString().Trim();
if (string.IsNullOrEmpty(row1))
{
result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
}
string row2 = pds.Rows[i][2].ToString().Trim();
if (!string.IsNullOrEmpty(row2))
{
var u = users.Where(x => x.UserName == row2).FirstOrDefault();
if (u==null)
{
result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
}
}
string row5 = pds.Rows[i][5].ToString().Trim();
if (!string.IsNullOrEmpty(row5))
{
try
{
DateTime d = Convert.ToDateTime(row5);
}
catch (Exception)
{
result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
}
}
}
if (!string.IsNullOrEmpty(result))
{
result = result.Substring(0, result.LastIndexOf("|"));
}
errorInfos.Clear();
if (!string.IsNullOrEmpty(result))
{
string results = result;
List<string> errorInfoList = results.Split('|').ToList();
foreach (var item in errorInfoList)
{
string[] errors = item.Split(',');
Model.ErrorInfo errorInfo = new Model.ErrorInfo();
errorInfo.Row = errors[0];
errorInfo.Column = errors[1];
errorInfo.Reason = errors[2];
errorInfos.Add(errorInfo);
}
if (errorInfos.Count > 0)
{
this.gvErrorInfo.DataSource = errorInfos;
this.gvErrorInfo.DataBind();
}
}
else
{
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(hdCheckResult.Text))
{
if (errorInfos.Count <= 0)
{
string rootPath = Server.MapPath("~/");
ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
hdCheckResult.Text = string.Empty;
ShowNotify("导入成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData2(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0], 6);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
private bool AddDatasetToSQL2(DataTable pds, int Cols)
{
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
}
string result = string.Empty;
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_ProjectQualityPlan
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var users = from x in Funs.DB.Project_ProjectUser
join y in Funs.DB.Sys_User on x.UserId equals y.UserId
where x.ProjectId == this.CurrUser.LoginProjectId
select y;
for (int i = 1; i < ir; i++)
{
string row0 = pds.Rows[i][0].ToString().Trim();
if (!string.IsNullOrEmpty(row0))
{
Model.QualityPlanning_ProjectQualityPlan oldViewInfo = new Model.QualityPlanning_ProjectQualityPlan();
oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileCode == pds.Rows[i][0].ToString().Trim());
if (oldViewInfo == null)
{
Model.QualityPlanning_ProjectQualityPlan newData = new Model.QualityPlanning_ProjectQualityPlan();
newData.ProjectId = this.CurrUser.LoginProjectId;
newData.FileCode = pds.Rows[i][0].ToString().Trim();
newData.FileName = pds.Rows[i][1].ToString().Trim();
if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
{
newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
}
newData.Auditor = pds.Rows[i][3].ToString().Trim();
newData.Approver= pds.Rows[i][4].ToString().Trim();
newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
newData.CompileDate = DateTime.Now;
newData.ProjectQualityPlanId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
BLL.ProjectQualityPlanService.AddProjectQualityPlan(newData);
}
else
{
oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
oldViewInfo.FileName = pds.Rows[i][1].ToString().Trim();
if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
{
oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
}
oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
oldViewInfo.Approver= pds.Rows[i][4].ToString().Trim();
oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
BLL.ProjectQualityPlanService.UpdateProjectQualityPlan(oldViewInfo);
}
}
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 下载模板按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.ProjectQualityPlanTemUrl;
string filePath = Const.ProjectQualityPlanTemUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
}
}

View File

@ -0,0 +1,123 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ProjectQualityPlanDataIn {
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// btnAudit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// hdCheckResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdCheckResult;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fuAttachUrl;
/// <summary>
/// gvErrorInfo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvErrorInfo;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
}
}

View File

@ -0,0 +1,65 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectQualityPlanEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.ProjectQualityPlanEdit" %>
<!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="SimpleForm1" />
<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="txtFileCode" runat="server" Label="文件编号" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpCompileMan" runat="server" Label="编制人" LabelAlign="Right" EnableEdit="true"></f:DropDownList>
<f:TextBox ID="txtAuditor" runat="server" Label="审核人" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtApprover" runat="server" Label="批准人" LabelAlign="Right"></f:TextBox>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="批准日期" ID="txtApprovalDate"
LabelAlign="Right">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" Label="上传附件" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,151 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class ProjectQualityPlanEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string ProjectQualityPlanId
{
get
{
return (string)ViewState["ProjectQualityPlanId"];
}
set
{
ViewState["ProjectQualityPlanId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
this.ProjectQualityPlanId = Request.Params["id"];
Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = BLL.ProjectQualityPlanService.GetProjectQualityPlanById(this.ProjectQualityPlanId);
if (projectQualityPlan != null)
{
this.ProjectQualityPlanId = projectQualityPlan.ProjectQualityPlanId;
this.hdAttachUrl.Text = this.ProjectQualityPlanId;
this.txtFileCode.Text = projectQualityPlan.FileCode;
this.txtFileName.Text = projectQualityPlan.FileName;
if (!string.IsNullOrEmpty(projectQualityPlan.CompileMan))
{
this.drpCompileMan.SelectedValue = projectQualityPlan.CompileMan;
}
this.txtAuditor.Text = projectQualityPlan.Auditor;
this.txtApprover.Text = projectQualityPlan.Approver;
this.txtApprovalDate.Text = projectQualityPlan.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", projectQualityPlan.ApprovalDate) : "";
}
else
{
this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.btnSave.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = new Model.QualityPlanning_ProjectQualityPlan();
projectQualityPlan.ProjectId = this.CurrUser.LoginProjectId;
projectQualityPlan.FileCode = this.txtFileCode.Text.Trim();
projectQualityPlan.FileName = this.txtFileName.Text.Trim();
if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
{
projectQualityPlan.CompileMan = this.drpCompileMan.SelectedValue;
}
projectQualityPlan.CompileDate = DateTime.Now;
projectQualityPlan.Auditor = this.txtAuditor.Text.Trim();
projectQualityPlan.Approver = this.txtApprover.Text.Trim();
projectQualityPlan.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
if (string.IsNullOrEmpty(this.ProjectQualityPlanId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
{
projectQualityPlan.ProjectQualityPlanId = this.hdAttachUrl.Text;
}
else
{
projectQualityPlan.ProjectQualityPlanId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
this.hdAttachUrl.Text = projectQualityPlan.ProjectQualityPlanId;
}
BLL.ProjectQualityPlanService.AddProjectQualityPlan(projectQualityPlan);
}
else
{
projectQualityPlan.ProjectQualityPlanId = this.ProjectQualityPlanId;
BLL.ProjectQualityPlanService.UpdateProjectQualityPlan(projectQualityPlan);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
{
this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/ProjectQualityPlan&menuId={1}", this.hdAttachUrl.Text, BLL.Const.ProjectQualityPlanMenuId)));
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectQualityPlanMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,159 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class ProjectQualityPlanEdit {
/// <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>
/// txtFileCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileCode;
/// <summary>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// drpCompileMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCompileMan;
/// <summary>
/// txtAuditor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAuditor;
/// <summary>
/// txtApprover 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtApprover;
/// <summary>
/// txtApprovalDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtApprovalDate;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSys.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSys" %>
<!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" EnableAjax="false" ShowHeader="false" Title="质量管理制度" EnableCollapse="true" OnPageIndexChange="Grid1_PageIndexChange"
runat="server" BoxFlex="1" DataKeyNames="QualityManagementSysId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="QualityManagementSysId" AllowSorting="true" SortField="ApprovalDate"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtFileCode" runat="server" Label="文件编号" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" LabelAlign="Right"></f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" Icon="Add" EnablePostBack="true" runat="server" OnClick="btnNew_Click" ToolTip="新增" Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click" Hidden="true">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="FileCode" DataField="FileCode" FieldType="String" HeaderText="文件编号" TextAlign="Center"
HeaderTextAlign="Center" Width="220px">
</f:RenderField>
<f:RenderField ColumnID="FileName" DataField="FileName" FieldType="String" HeaderText="文件名称" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="CompileManName" DataField="CompileManName" FieldType="String" HeaderText="编制人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Auditor" DataField="Auditor" FieldType="String" HeaderText="审核人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="Approver" DataField="Approver" FieldType="String" HeaderText="批准人" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="ApprovalDate" DataField="ApprovalDate" FieldType="Date" Renderer="Date" HeaderText="批准日期" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink"
Text='<%# BLL.AttachFileService.GetBtnFileUrl(Eval("QualityManagementSysId")) %>' ToolTip="附件查看"></asp:LinkButton>
</ItemTemplate>
</f:TemplateField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</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="900px" Height="300px">
</f:Window>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="700px" Height="560px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="false" runat="server"
IsModal="true" Width="700px" Height="500px">
</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" Hidden="true">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,354 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class QualityManagementSys : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
}
}
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"SELECT p.QualityManagementSysId,
p.ProjectId,
p.FileCode,
p.FileName,
p.CompileMan,
p.CompileDate,
p.Auditor,
p.Approver,
p.ApprovalDate,
u.UserName AS CompileManName"
+ @" FROM QualityPlanning_QualityManagementSys AS p"
+ @" LEFT JOIN Sys_User AS u ON u.UserId = p.CompileMan"
+ @" WHERE p.ProjectId=@projectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
{
strSql += " AND p.FileCode LIKE @fileCode";
listStr.Add(new SqlParameter("@fileCode", "%" + this.txtFileCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
strSql += " AND p.FileName LIKE @fileName";
listStr.Add(new SqlParameter("@fileName", "%" + this.txtFileName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 分页下拉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#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("QualityManagementSysEdit.aspx", "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityManagementSysEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(sender, e);
}
#endregion
#region
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var sys = BLL.QualityManagementSysService.GetQualityManagementSysById(rowID);
if (sys != null)
{
BLL.QualityManagementSysService.DeleteQualityManagementSys(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("QualityManagementSysDataIn.aspx", "导入 - ")));
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = Const.QualityManagementSysTemUrl;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var lists = (from x in Funs.DB.QualityPlanning_QualityManagementSys
where x.ProjectId == this.CurrUser.LoginProjectId
select x);
if (!string.IsNullOrEmpty(this.txtFileCode.Text.Trim()))
{
lists = lists.Where(x => x.FileCode.Contains(this.txtFileCode.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
{
lists = lists.Where(x => x.FileName.Contains(this.txtFileName.Text.Trim()));
}
lists = lists.OrderByDescending(x => x.ApprovalDate);
if (lists != null)
{
string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
newUrl = uploadfilepath.Replace("质量管理制度导入模板", "质量管理制度(" + projectName + DateTime.Now.ToString("yyyyMMdd") + "");
File.Copy(uploadfilepath, newUrl);
// 第一步:读取文件流
NPOI.SS.UserModel.IWorkbook workbook;
using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
{
//workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
}
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellStyle.WrapText = true;//自动换行
var font = workbook.CreateFont();
font.FontHeightInPoints = 11;
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
NPOI.SS.UserModel.ICell cell;
int i = 2;
foreach (var item in lists)
{
// 第二步:创建新数据行
row = sheet.CreateRow(i);
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.FileCode);//文件编号
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.FileName);//文件名称
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CompileMan));//编制人
cell = row.CreateCell(3);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.Auditor);//审核人
cell = row.CreateCell(4);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.Approver);//批准人
cell = row.CreateCell(5);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.ApprovalDate) : "");//批准日期
i++;
}
// 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
workbook.Close();
}
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == BLL.Const._Null)
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QualityManagementSysMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
else
{
this.Grid1.EnableRowDoubleClickEvent = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnImport.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,204 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class QualityManagementSys {
/// <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>
/// ToolSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar ToolSearch;
/// <summary>
/// txtFileCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileCode;
/// <summary>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbtnFileUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <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;
}
}

View File

@ -0,0 +1,68 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSysDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSysDataIn" %>
<!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" AutoSizePanelID="SimpleForm1" runat="server" OnCustomEvent="PageManager1_CustomEvent" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdFileName" runat="server">
</f:HiddenField>
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" ToolTip="审核" ValidateForms="SimpleForm1"
OnClick="btnAudit_Click">
</f:Button>
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" ValidateForms="SimpleForm1"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
<f:HiddenField ID="hdCheckResult" runat="server">
</f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:FileUpload runat="server" ID="fuAttachUrl" EmptyText="选择要导入的文件" Label="选择要导入的文件"
LabelWidth="150px">
</f:FileUpload>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="gvErrorInfo" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量管理制度" EnableCollapse="true"
runat="server" BoxFlex="1" AllowCellEditing="true" ClicksToEdit="2" AllowSorting="true"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# gvErrorInfo.PageIndex * gvErrorInfo.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:BoundField DataField="Row" HeaderText="错误行号">
</f:BoundField>
<f:BoundField DataField="Column" HeaderText="错误列">
</f:BoundField>
<f:BoundField DataField="Reason" HeaderText="错误类型">
</f:BoundField>
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,435 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class QualityManagementSysDataIn : PageBase
{
#region
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static List<Model.ErrorInfo> errorInfos = new List<Model.ErrorInfo>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.hdCheckResult.Text = string.Empty;
this.hdFileName.Text = string.Empty;
if (errorInfos != null)
{
errorInfos.Clear();
}
}
}
#endregion
#region
/// <summary>
/// 审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAudit_Click(object sender, EventArgs e)
{
try
{
if (this.fuAttachUrl.HasFile == false)
{
ShowNotify("请您选择Excel文件", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls")
{
ShowNotify("只可以选择Excel文件", MessageBoxIcon.Warning);
return;
}
if (errorInfos != null)
{
errorInfos.Clear();
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
string filePath = initFullPath + this.hdFileName.Text;
this.fuAttachUrl.PostedFile.SaveAs(filePath);
ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
}
catch (Exception ex)
{
ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL(ds.Tables[0], 6);
hdCheckResult.Text = "1";
}
catch (Exception exc)
{
Response.Write(exc);
//return null;
// return dt;
}
finally
{
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集行数</param>
/// <returns></returns>
private bool AddDatasetToSQL(DataTable pds, int Cols)
{
string result = string.Empty;
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
return false;
}
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_QualityManagementSys
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var users = from x in Funs.DB.Project_ProjectUser
join y in Funs.DB.Sys_User on x.UserId equals y.UserId
where x.ProjectId == this.CurrUser.LoginProjectId
select y;
for (int i = 1; i < ir; i++)
{
Model.QualityPlanning_QualityManagementSys oldViewInfo = new Model.QualityPlanning_QualityManagementSys();
string row0 = pds.Rows[i][0].ToString().Trim();
if (string.IsNullOrEmpty(row0))
{
result += (i + 2).ToString() + "," + "文件编号" + "," + "此项为必填项!" + "|";
}
string row1 = pds.Rows[i][1].ToString().Trim();
if (string.IsNullOrEmpty(row1))
{
result += (i + 2).ToString() + "," + "文件名称" + "," + "此项为必填项!" + "|";
}
string row2 = pds.Rows[i][2].ToString().Trim();
if (!string.IsNullOrEmpty(row2))
{
var u = users.Where(x => x.UserName == row2).FirstOrDefault();
if (u == null)
{
result += (i + 2).ToString() + "," + "编制人" + "," + "[" + row2 + "]不存在!" + "|";
}
}
string row5 = pds.Rows[i][5].ToString().Trim();
if (!string.IsNullOrEmpty(row5))
{
try
{
DateTime d = Convert.ToDateTime(row5);
}
catch (Exception)
{
result += (i + 2).ToString() + "," + "批准日期" + "," + "[" + row5 + "]错误!" + "|";
}
}
}
if (!string.IsNullOrEmpty(result))
{
result = result.Substring(0, result.LastIndexOf("|"));
}
errorInfos.Clear();
if (!string.IsNullOrEmpty(result))
{
string results = result;
List<string> errorInfoList = results.Split('|').ToList();
foreach (var item in errorInfoList)
{
string[] errors = item.Split(',');
Model.ErrorInfo errorInfo = new Model.ErrorInfo();
errorInfo.Row = errors[0];
errorInfo.Column = errors[1];
errorInfo.Reason = errors[2];
errorInfos.Add(errorInfo);
}
if (errorInfos.Count > 0)
{
this.gvErrorInfo.DataSource = errorInfos;
this.gvErrorInfo.DataBind();
}
}
else
{
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(hdCheckResult.Text))
{
if (errorInfos.Count <= 0)
{
string rootPath = Server.MapPath("~/");
ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
hdCheckResult.Text = string.Empty;
ShowNotify("导入成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData2(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0], 6);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
private bool AddDatasetToSQL2(DataTable pds, int Cols)
{
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
}
string result = string.Empty;
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.QualityPlanning_QualityManagementSys
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var users = from x in Funs.DB.Project_ProjectUser
join y in Funs.DB.Sys_User on x.UserId equals y.UserId
where x.ProjectId == this.CurrUser.LoginProjectId
select y;
for (int i = 1; i < ir; i++)
{
string row0 = pds.Rows[i][0].ToString().Trim();
if (!string.IsNullOrEmpty(row0))
{
Model.QualityPlanning_QualityManagementSys oldViewInfo = new Model.QualityPlanning_QualityManagementSys();
oldViewInfo = oldViewInfos.FirstOrDefault(x => x.FileCode == pds.Rows[i][0].ToString().Trim());
if (oldViewInfo == null)
{
Model.QualityPlanning_QualityManagementSys newData = new Model.QualityPlanning_QualityManagementSys();
newData.ProjectId = this.CurrUser.LoginProjectId;
newData.FileCode = pds.Rows[i][0].ToString().Trim();
newData.FileName = pds.Rows[i][1].ToString().Trim();
if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
{
newData.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
}
newData.Auditor = pds.Rows[i][3].ToString().Trim();
newData.Approver = pds.Rows[i][4].ToString().Trim();
newData.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
newData.CompileDate = DateTime.Now;
newData.QualityManagementSysId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
BLL.QualityManagementSysService.AddQualityManagementSys(newData);
}
else
{
oldViewInfo.FileCode = pds.Rows[i][0].ToString().Trim();
oldViewInfo.FileName = pds.Rows[i][1].ToString().Trim();
if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
{
oldViewInfo.CompileMan = users.FirstOrDefault(e => e.UserName == pds.Rows[i][2].ToString().Trim()).UserId;
}
oldViewInfo.Auditor = pds.Rows[i][3].ToString().Trim();
oldViewInfo.Approver = pds.Rows[i][4].ToString().Trim();
oldViewInfo.ApprovalDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
BLL.QualityManagementSysService.UpdateQualityManagementSys(oldViewInfo);
}
}
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 下载模板按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.QualityManagementSysTemUrl;
string filePath = Const.QualityManagementSysTemUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
}
}

View File

@ -0,0 +1,123 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class QualityManagementSysDataIn {
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// btnAudit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// hdCheckResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdCheckResult;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fuAttachUrl;
/// <summary>
/// gvErrorInfo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvErrorInfo;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
}
}

View File

@ -0,0 +1,65 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityManagementSysEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.QualityPlanning.QualityManagementSysEdit" %>
<!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="SimpleForm1" />
<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="txtFileCode" runat="server" Label="文件编号" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtFileName" runat="server" Label="文件名称" MaxLength="50" Required="true" ShowRedStar="true" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpCompileMan" runat="server" Label="编制人" LabelAlign="Right" EnableEdit="true"></f:DropDownList>
<f:TextBox ID="txtAuditor" runat="server" Label="审核人" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtApprover" runat="server" Label="批准人" LabelAlign="Right"></f:TextBox>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="批准日期" ID="txtApprovalDate"
LabelAlign="Right">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" Label="上传附件" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,151 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
public partial class QualityManagementSysEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string QualityManagementSysId
{
get
{
return (string)ViewState["QualityManagementSysId"];
}
set
{
ViewState["QualityManagementSysId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
this.QualityManagementSysId = Request.Params["id"];
Model.QualityPlanning_QualityManagementSys sys = BLL.QualityManagementSysService.GetQualityManagementSysById(this.QualityManagementSysId);
if (sys != null)
{
this.QualityManagementSysId = sys.QualityManagementSysId;
this.hdAttachUrl.Text = this.QualityManagementSysId;
this.txtFileCode.Text = sys.FileCode;
this.txtFileName.Text = sys.FileName;
if (!string.IsNullOrEmpty(sys.CompileMan))
{
this.drpCompileMan.SelectedValue = sys.CompileMan;
}
this.txtAuditor.Text = sys.Auditor;
this.txtApprover.Text = sys.Approver;
this.txtApprovalDate.Text = sys.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", sys.ApprovalDate) : "";
}
else
{
this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.btnSave.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.QualityPlanning_QualityManagementSys newSys = new Model.QualityPlanning_QualityManagementSys();
newSys.ProjectId = this.CurrUser.LoginProjectId;
newSys.FileCode = this.txtFileCode.Text.Trim();
newSys.FileName = this.txtFileName.Text.Trim();
if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
{
newSys.CompileMan = this.drpCompileMan.SelectedValue;
}
newSys.CompileDate = DateTime.Now;
newSys.Auditor = this.txtAuditor.Text.Trim();
newSys.Approver = this.txtApprover.Text.Trim();
newSys.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
if (string.IsNullOrEmpty(this.QualityManagementSysId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
{
newSys.QualityManagementSysId = this.hdAttachUrl.Text;
}
else
{
newSys.QualityManagementSysId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
this.hdAttachUrl.Text = newSys.QualityManagementSysId;
}
BLL.QualityManagementSysService.AddQualityManagementSys(newSys);
}
else
{
newSys.QualityManagementSysId = this.QualityManagementSysId;
BLL.QualityManagementSysService.UpdateQualityManagementSys(newSys);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
{
this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_QualityManagementSys));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/QualityManagementSys&menuId={1}", this.hdAttachUrl.Text, BLL.Const.QualityManagementSysMenuId)));
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QualityManagementSysMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,159 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityPlanning {
public partial class QualityManagementSysEdit {
/// <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>
/// txtFileCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileCode;
/// <summary>
/// txtFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFileName;
/// <summary>
/// drpCompileMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCompileMan;
/// <summary>
/// txtAuditor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAuditor;
/// <summary>
/// txtApprover 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtApprover;
/// <summary>
/// txtApprovalDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtApprovalDate;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -565,6 +565,16 @@
<Content Include="CQMS\ProcessControl\ShowUnitWork.aspx" />
<Content Include="CQMS\ProcessControl\TestPackageManagement.aspx" />
<Content Include="CQMS\ProcessControl\TestPackageManagementEdit.aspx" />
<Content Include="CQMS\QualityPlanning\ConExperienceSummary.aspx" />
<Content Include="CQMS\QualityPlanning\ConExperienceSummaryDataIn.aspx" />
<Content Include="CQMS\QualityPlanning\ConExperienceSummaryEdit.aspx" />
<Content Include="CQMS\QualityPlanning\Organizational.aspx" />
<Content Include="CQMS\QualityPlanning\ProjectQualityPlan.aspx" />
<Content Include="CQMS\QualityPlanning\ProjectQualityPlanDataIn.aspx" />
<Content Include="CQMS\QualityPlanning\ProjectQualityPlanEdit.aspx" />
<Content Include="CQMS\QualityPlanning\QualityManagementSys.aspx" />
<Content Include="CQMS\QualityPlanning\QualityManagementSysDataIn.aspx" />
<Content Include="CQMS\QualityPlanning\QualityManagementSysEdit.aspx" />
<Content Include="CQMS\Solution\ConstructSolution.aspx" />
<Content Include="CQMS\Solution\ConstructSolutionView.aspx" />
<Content Include="CQMS\Solution\EditConstructSolution.aspx" />
@ -1715,6 +1725,7 @@
<Content Include="res\assets\js\swiper.min.js" />
<Content Include="res\assets\js\video-7.15.0.min.js" />
<Content Include="res\assets\js\world.js" />
<Content Include="res\images\Organizational.png" />
<Content Include="res\index\images\logocenter.png" />
<Content Include="res\js\swiper-bundle.min.css" />
<Content Include="res\js\swiper-bundle.min.js" />
@ -8363,6 +8374,76 @@
<Compile Include="CQMS\ProcessControl\TestPackageManagementEdit.aspx.designer.cs">
<DependentUpon>TestPackageManagementEdit.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummary.aspx.cs">
<DependentUpon>ConExperienceSummary.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummary.aspx.designer.cs">
<DependentUpon>ConExperienceSummary.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummaryDataIn.aspx.cs">
<DependentUpon>ConExperienceSummaryDataIn.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummaryDataIn.aspx.designer.cs">
<DependentUpon>ConExperienceSummaryDataIn.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummaryEdit.aspx.cs">
<DependentUpon>ConExperienceSummaryEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ConExperienceSummaryEdit.aspx.designer.cs">
<DependentUpon>ConExperienceSummaryEdit.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\Organizational.aspx.cs">
<DependentUpon>Organizational.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\Organizational.aspx.designer.cs">
<DependentUpon>Organizational.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlan.aspx.cs">
<DependentUpon>ProjectQualityPlan.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlan.aspx.designer.cs">
<DependentUpon>ProjectQualityPlan.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlanDataIn.aspx.cs">
<DependentUpon>ProjectQualityPlanDataIn.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlanDataIn.aspx.designer.cs">
<DependentUpon>ProjectQualityPlanDataIn.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlanEdit.aspx.cs">
<DependentUpon>ProjectQualityPlanEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\ProjectQualityPlanEdit.aspx.designer.cs">
<DependentUpon>ProjectQualityPlanEdit.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSys.aspx.cs">
<DependentUpon>QualityManagementSys.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSys.aspx.designer.cs">
<DependentUpon>QualityManagementSys.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSysDataIn.aspx.cs">
<DependentUpon>QualityManagementSysDataIn.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSysDataIn.aspx.designer.cs">
<DependentUpon>QualityManagementSysDataIn.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSysEdit.aspx.cs">
<DependentUpon>QualityManagementSysEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\QualityPlanning\QualityManagementSysEdit.aspx.designer.cs">
<DependentUpon>QualityManagementSysEdit.aspx</DependentUpon>
</Compile>
<Compile Include="CQMS\Solution\ConstructSolution.aspx.cs">
<DependentUpon>ConstructSolution.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -8484,6 +8565,7 @@
</Compile>
<Compile Include="CQMS\WBS\Control\DivisionSubProjects.aspx.cs">
<DependentUpon>DivisionSubProjects.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CQMS\WBS\Control\DivisionSubProjects.aspx.designer.cs">
<DependentUpon>DivisionSubProjects.aspx</DependentUpon>

View File

@ -16,9 +16,8 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<StartPageUrl>
</StartPageUrl>
<StartAction>CurrentPage</StartAction>
<StartPageUrl>Login.aspx</StartPageUrl>
<StartAction>SpecificPage</StartAction>
<AspNetDebugging>True</AspNetDebugging>
<SilverlightDebugging>False</SilverlightDebugging>
<NativeDebugging>False</NativeDebugging>

View File

@ -42,7 +42,7 @@
<img
class="bi-single bi-img display-block"
src="res/index/images/loginBg.jpg"
style="width: auto; height: 335px;width:355px; position: absolute; flex-shrink: 0; margin: 0px;border-radius:10px;box-shadow:0px 20px 20px #1b1b2a">
style="width: auto; height: 335px;width:355px; position: absolute; flex-shrink: 0; margin: 0px;border-radius:10px;box-shadow:0px 20px 20px #1b1b2a; top: 0px; left: 0px;">
</div>
<div class="bi-vertical-layout"
style="overflow: hidden auto; left: 40px; right: 40px; top: 0px; bottom: 0px; position: absolute;">

View File

@ -3,6 +3,7 @@
<TreeNode id="3B322232-38A1-4291-9832-CD4A01C2A975" Text="WBS数据" NavigateUrl="">
<TreeNode id="1025D812-2325-4FE9-A1E9-D53F2CAACDC6" Text="现场控制点裁剪(新)" NavigateUrl="CQMS/WBS/Control/PointCropping.aspx">
</TreeNode>
<TreeNode id="17E206A1-E06B-40C0-8DCB-E3AAA2E3B339" Text="分部分项工程(新)" NavigateUrl="CQMS/WBS/Control/DivisionSubProjects.aspx"></TreeNode>
<TreeNode id="5AA08233-9E04-4808-AC43-DD411C5F9D31" Text="现场控制点裁剪" NavigateUrl="CQMS/WBS/ProjectControlPoint.aspx"></TreeNode>
<TreeNode id="88F115C3-D193-4455-8E8D-76F2EAF56291" Text="现场控制点资料柜" NavigateUrl="CQMS/WBS/ProjectControlPointFile.aspx"></TreeNode>
</TreeNode>
@ -58,4 +59,9 @@
<TreeNode id="888962E7-EF4E-43C7-B835-BAE0249DCA3F" Text="施工绩效审批打分" NavigateUrl="CQMS/Performance/PerformanceAudit.aspx"></TreeNode>
<TreeNode id="753BED05-3B04-43F3-9D97-1534C581A49F" Text="施工绩效设置" NavigateUrl="CQMS/Performance/PerformanceConfig.aspx"></TreeNode>
</TreeNode>
<TreeNode id="F5585C62-1F12-4073-8733-C0826FB692DB" Text="质量策划" NavigateUrl=""><TreeNode id="1D3CAAD1-690B-4F30-9E3E-6B31D0CF60FA" Text="项目质量计划" NavigateUrl="CQMS/QualityPlanning/ProjectQualityPlan.aspx"></TreeNode>
<TreeNode id="46E6F0A6-A6A2-4904-9B69-CD91342D7DF8" Text="质量管理制度" NavigateUrl="CQMS/QualityPlanning/QualityManagementSys.aspx"></TreeNode>
<TreeNode id="6769098A-53D7-4585-87CC-2DADBCBC2C74" Text="类似项目施工经验总结清单" NavigateUrl="CQMS/QualityPlanning/ConExperienceSummary.aspx"></TreeNode>
<TreeNode id="B340205A-8857-4D0D-9E4C-41D91A417A77" Text="质量管理组织机构" NavigateUrl="CQMS/QualityPlanning/Organizational.aspx"></TreeNode>
</TreeNode>
</Tree>

View File

@ -203,7 +203,11 @@ namespace FineUIPro.Web
List<string> listCategories = new List<string>();
businessColumn.title = "质量问题统计";
businessColumn.xFontNum = 5;
var cns = BLL.CNProfessionalService.GetList();
//var cns = BLL.CNProfessionalService.GetList();
var cns = (from x in Funs.DB.Base_CNProfessional
where x.CNProfessionalId != BLL.Const.CNProfessionalHSEId
&& x.CNProfessionalId != BLL.Const.CNProfessionalConstructId
select x).ToList();
var checks = from x in Funs.DB.Check_CheckControl
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
select x;

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because it is too large Load Diff