This commit is contained in:
夏菊 2025-02-22 10:34:16 +08:00
commit 379ff372c5
63 changed files with 4416 additions and 3 deletions

View File

@ -13,8 +13,16 @@ END
GO
--
<<<<<<< HEAD
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '465786B2-AD20-483A-A082-B2C944BE998F')
BEGIN
=======
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = 'CEF2A108-DDC2-46A2-A47B-7431F1F890F1')
BEGIN
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsEnd,IsUsed)
VALUES('CEF2A108-DDC2-46A2-A47B-7431F1F890F1','岗位培训记录','HSSE/PostTraining/Record.aspx',10,'BEA50D7C-60FE-488B-8D7D-255020EEB4C2','Menu_HSSE',1,1)
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsEnd,IsUsed)
VALUES('465786B2-AD20-483A-A082-B2C944BE998F','岗位培训类别','HSSE/PostTraining/Category.aspx',100,'BEA50D7C-60FE-488B-8D7D-255020EEB4C2','Menu_HSSE',1,1)
@ -35,6 +43,22 @@ BEGIN
VALUES('026F0A23-AECD-4BB8-8504-1EB8CB9151C0','岗位培训教资','HSSE/PostTraining/Teachers.aspx',150,'BEA50D7C-60FE-488B-8D7D-255020EEB4C2','Menu_HSSE',1,1)
END
GO
<<<<<<< HEAD
=======
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = 'CEF2A108-DDC2-46A2-A47B-7431F1F890F1')
BEGIN
--
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('D35FC243-EAB1-47DF-9590-7E9403F969F9','CEF2A108-DDC2-46A2-A47B-7431F1F890F1','增加',1)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('3121AEDD-C697-4B70-ADB4-619B17636888','CEF2A108-DDC2-46A2-A47B-7431F1F890F1','修改',2)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('D517703B-3232-4296-892E-944372715424','CEF2A108-DDC2-46A2-A47B-7431F1F890F1','删除',3)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('E927076D-EC0E-44D5-816A-99A401D7051C','CEF2A108-DDC2-46A2-A47B-7431F1F890F1','保存',4)
END
GO
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = '465786B2-AD20-483A-A082-B2C944BE998F')
BEGIN
--
@ -114,10 +138,114 @@ BEGIN
END
GO
<<<<<<< HEAD
=======
--1Id
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SitePerson_Person' AND COLUMN_NAME = 'PostTrainingRoleId')
BEGIN
ALTER TABLE SitePerson_Person ADD PostTrainingRoleId nvarchar(50);
END
GO
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
/*******************************岗位培训数据表******************************************************************************************/
<<<<<<< HEAD
=======
--
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PostTraining_Record') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[PostTraining_Record](
[Id] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NOT NULL,
[Code] [nvarchar](50) NULL,
[Name] [nvarchar](200) NULL,
[Content] [nvarchar](500) NULL,
[CategoryId] [nvarchar](50) NULL,
[CategoryName] [nvarchar](200) NULL,
[CourseId] [nvarchar](50) NOT NULL,
[CourseName] [nvarchar](200) NULL,
[Location] [nvarchar](200) NULL,
[Method] [nvarchar](200) NULL,
[Lecturer] [nvarchar](200) NULL,
[UnitIds] [nvarchar](max) NULL,
[RoleIds] [nvarchar](max) NULL,
[PersonNum] [int] NOT NULL,
[TrainingTime] [datetime] NOT NULL,
[Duration] [decimal](10, 2) NOT NULL,
[Remark] [nvarchar](1000) NULL,
[CompileDate] [datetime] NULL,
[CompileMan] [nvarchar](50) NULL,
CONSTRAINT [PK_PostTraining_Record] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[PostTraining_Record] WITH CHECK ADD CONSTRAINT [FK_PostTraining_Record_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
ALTER TABLE [dbo].[PostTraining_Record] CHECK CONSTRAINT [FK_PostTraining_Record_Base_Project]
ALTER TABLE [dbo].[PostTraining_Record] WITH CHECK ADD CONSTRAINT [FK_PostTraining_Record_PostTraining_Category] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[PostTraining_Category] ([Id])
ALTER TABLE [dbo].[PostTraining_Record] CHECK CONSTRAINT [FK_PostTraining_Record_PostTraining_Category]
ALTER TABLE [dbo].[PostTraining_Record] WITH CHECK ADD CONSTRAINT [FK_PostTraining_Record_PostTraining_Course] FOREIGN KEY([CourseId])
REFERENCES [dbo].[PostTraining_Course] ([Id])
ALTER TABLE [dbo].[PostTraining_Record] CHECK CONSTRAINT [FK_PostTraining_Record_PostTraining_Course]
ALTER TABLE [dbo].[PostTraining_Record] WITH CHECK ADD CONSTRAINT [FK_PostTraining_Record_Sys_User] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
ALTER TABLE [dbo].[PostTraining_Record] CHECK CONSTRAINT [FK_PostTraining_Record_Sys_User]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Id'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'ProjectId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Code'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训标题' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Name'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Content'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类别Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CategoryId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类别名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CategoryName'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'课程Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CourseId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'课程名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CourseName'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训地点' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Location'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Method'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'授课人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Lecturer'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'UnitIds'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训岗位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'RoleIds'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训人数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'PersonNum'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'TrainingTime'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学时(小时)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Duration'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'Remark'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CompileMan'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record', @level2type=N'COLUMN',@level2name=N'CompileDate'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'岗位培训课程' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record'
END
GO
--
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PostTraining_Record_Detail') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[PostTraining_Record_Detail](
[Id] [nvarchar](50) NOT NULL,
[RecordId] [nvarchar](50) NULL,
[PersonId] [nvarchar](50) NULL
CONSTRAINT [PK_PostTraining_Record_Detail] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[PostTraining_Record_Detail] WITH CHECK ADD CONSTRAINT [FK_PostTraining_Record_Detail_PostTraining_Record] FOREIGN KEY([RecordId])
REFERENCES [dbo].[PostTraining_Record] ([Id])
ALTER TABLE [dbo].[PostTraining_Record_Detail] CHECK CONSTRAINT [FK_PostTraining_Record_Detail_PostTraining_Record]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record_Detail', @level2type=N'COLUMN',@level2name=N'Id'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训记录Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record_Detail', @level2type=N'COLUMN',@level2name=N'RecordId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训对象人员Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record_Detail', @level2type=N'COLUMN',@level2name=N'PersonId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'岗位培训人员记录表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PostTraining_Record_Detail'
END
GO
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
--
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PostTraining_Category') AND type = N'U')
@ -378,3 +506,176 @@ END
GO
<<<<<<< HEAD
=======
/****** Object: View [dbo].[View_PostTraining_RecordDetail] Script Date: 2025-2-20 17:56:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--
CREATE VIEW [dbo].[View_PostTraining_RecordDetail] AS
SELECT recordDetail.Id AS DetailId,
recordDetail.RecordId,
recordDetail.PersonId,
person.UnitId,
unit.UnitName,
person.PersonName,
pRole.Name AS RoleName
FROM dbo.PostTraining_Record_Detail AS recordDetail
LEFT JOIN dbo.SitePerson_Person AS person ON person.PersonId = recordDetail.PersonId
LEFT JOIN dbo.Base_Unit AS unit ON unit.UnitId=person.UnitId
LEFT JOIN dbo.PostTraining_Role AS pRole ON pRole.Id=person.PostTrainingRoleId
GO
ALTER VIEW [dbo].[View_SitePerson_Person]
AS
SELECT Person.PersonId,
Person.CardNo,
Person.PersonName,
Person.Sex,
(Case Person.Sex WHEN '1' THEN '' WHEN '2' THEN '' ELSE '' END) AS SexName,
Person.IdentityCard,
Person.Address,
Person.ProjectId,
Person.UnitId,
Person.Birthday,
Person.TeamGroupId,
Person.WorkAreaId,
Person.WorkPostId,
Person.InTime,
Person.OutTime,
Person.OutResult,
Person.Telephone,
Person.PositionId,
Person.PostTitleId,
Person.PhotoUrl,
Person.IsUsed,
(CASE Person.IsUsed WHEN 'TRUE' THEN '' ELSE '' END) AS IsUsedName,
Person.IsCardUsed,
(CASE Person.IsCardUsed WHEN 'TRUE' THEN '' ELSE '' END) AS IsCardUsedName,
Person.PersonIndex,
Project.ProjectCode,
Project.ProjectName,
Unit.UnitCode,
Unit.UnitName,
TeamGroup.TeamGroupName,
--WorkArea.UnitWorkCode AS WorkAreaCode,
WorkAreaCode= STUFF((SELECT ',' + UnitWorkCode FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +Person.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''),
--WorkArea.UnitWorkName AS WorkAreaName
WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +Person.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''),
Post.WorkPostName,
Position.PositionName,
Title.PostTitleName,
Depart.DepartName,
Post.PostType,
Post.IsHsse,
(SELECT COUNT(*) FROM EduTrain_TrainRecordDetail T WHERE T.PersonId=Person.PersonId) AS TrainCount,
Person.AuditorId,
sysUser.UserName AS AuditorName,
Person.AuditorDate,
Person.IDCardUrl,
Person.IsForeign,
case when Person.IsForeign=1 then '' else '' end as IsForeignStr,
Person.IdcardType,
BasicData1.dictName as IdcardTypeName,
Person.IdcardStartDate,
Person.IdcardEndDate,
Person.IdcardForever,
case when Person.IdcardForever='Y' then '' else '' end as IdcardForeverStr,
Person.PoliticsStatus,
BasicData2.dictName as PoliticsStatusName,
Person.IdcardAddress,
Person.Nation,
BasicData3.dictName as NationName,
Person.EduLevel,
BasicData4.dictName as EduLevelName,
Person.MaritalStatus,
BasicData5.dictName as MaritalStatusName,
Person.CountryCode,
Country.cname as CountryName,
Person.ProvinceCode,
City.cname as ProvinceName,
Person.MainCNProfessionalId,
CNProfessional.ProfessionalName as MainCNProfessionalName,
Person.ViceCNProfessionalId,
'' as ViceCNProfessionalName,
Person.IsOutside,
case when Person.IsOutside=1 then '' else '' end as IsOutsideStr,
Person.BlackList,
Person.BlackReason,
Person.States,
sysUser.StarLevelId,
StarLevel.StarMark,
StarLevel.LevelValue,
Person.PostTrainingRoleId,
PostRole.Name AS PostTrainingRoleName
FROM SitePerson_Person AS Person
LEFT JOIN Base_Project AS Project ON Project.ProjectId=Person.ProjectId
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Person.UnitId
LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=Person.TeamGroupId
--LEFT JOIN WBS_UnitWork AS WorkArea ON WorkArea.UnitWorkId = Person.WorkAreaId
LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = Person.WorkPostId
LEFT JOIN Base_Position AS Position ON Position.PositionId = Person.PositionId
Left JOIN Base_PostTitle AS Title ON Title.PostTitleId = Person.PostTitleId
Left JOIN Base_Depart AS Depart ON Depart.DepartId = Person.DepartId
Left JOIN Sys_User AS sysUser ON sysUser.UserId = Person.AuditorId
Left JOIN RealName_BasicData AS BasicData1 ON BasicData1.dictCode = Person.IdcardType
Left JOIN RealName_BasicData AS BasicData2 ON BasicData2.dictCode = Person.PoliticsStatus
Left JOIN RealName_BasicData AS BasicData3 ON BasicData3.dictCode = Person.Nation
Left JOIN RealName_BasicData AS BasicData4 ON BasicData4.dictCode = Person.EduLevel
Left JOIN RealName_BasicData AS BasicData5 ON BasicData5.dictCode = Person.MaritalStatus
Left JOIN RealName_Country AS Country ON Country.CountryId = Person.CountryCode
Left JOIN RealName_City AS City ON City.provinceCode = Person.ProvinceCode
Left JOIN Base_CNProfessional AS CNProfessional ON CNProfessional.CNProfessionalId = Person.MainCNProfessionalId
Left JOIN Base_StarLevel AS StarLevel ON sysUser.StarLevelId = StarLevel.StarLevelId
Left JOIN PostTraining_Role AS PostRole ON PostRole.Id = Person.PostTrainingRoleId
GO
ALTER VIEW [dbo].[View_SitePerson_PersonList]
AS
SELECT
Person.PersonId,
Person.ProjectId,
Person.IsUsed,
Person.IsForeign,
Person.IsOutside,
Person.BlackList,
Person.CardNo,
Person.PersonName,
Person.UnitId,
Unit.UnitName,
Post.WorkPostName,
WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +Person.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''),
TeamGroup.TeamGroupName,
Person.InTime,
Person.OutTime,
(CASE Person.IsUsed WHEN 'TRUE' THEN '' ELSE '' END) AS IsUsedName,
Person.IdentityCard,
Person.TeamGroupId,
Person.WorkPostId,
Person.IdcardType,
Person.PhotoUrl,
edu.TrainCount,
PoliticsStatus.dictName AS PoliticsStatusName,
Person.PostTrainingRoleId,
PostRole.Name AS PostTrainingRoleName
FROM SitePerson_Person AS Person
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Person.UnitId
LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=Person.TeamGroupId
LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = Person.WorkPostId
LEFT JOIN RealName_BasicData AS PoliticsStatus ON PoliticsStatus.dictCode = Person.PoliticsStatus AND PoliticsStatus.DictTypeCode='POLITICAL_LANDSCAPE'
LEFT JOIN (select PersonId,count(PersonId)as TrainCount from EduTrain_TrainRecordDetail group by PersonId) as edu on edu.PersonId= Person.PersonId
LEFT JOIN PostTraining_Role AS PostRole ON PostRole.Id = Person.PostTrainingRoleId
GO
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74

View File

@ -277,6 +277,7 @@
<Compile Include="Common\UserShowColumnsService.cs" />
<Compile Include="Common\WeatherService.cs" />
<Compile Include="Common\WeekDayService.cs" />
<Compile Include="Common\StringHelper.cs" />
<Compile Include="Common\WordHelp.cs" />
<Compile Include="CostGoods\MeasuresPlanService.cs" />
<Compile Include="CostGoods\PayRegistrationService.cs" />
@ -689,6 +690,11 @@
<Compile Include="HSSE\OccupationHealth\PhysicalExaminationService.cs" />
<Compile Include="HSSE\Perfomance\PerfomanceRecordService.cs" />
<Compile Include="HSSE\Perfomance\PersonPerfomanceService.cs" />
<<<<<<< HEAD
=======
<Compile Include="HSSE\PostTraining\PostTrainingRecordDetailService.cs" />
<Compile Include="HSSE\PostTraining\PostTrainingRecordService.cs" />
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
<Compile Include="HSSE\PostTraining\PostTrainingStandardService.cs" />
<Compile Include="HSSE\PostTraining\PostTrainingMethodService.cs" />
<Compile Include="HSSE\PostTraining\PostTrainingTeachersService.cs" />

View File

@ -1729,6 +1729,14 @@ namespace BLL
#region
/// <summary>
<<<<<<< HEAD
=======
/// 岗位培训记录
/// </summary>
public const string PostTrainingRecordMenuId = "CEF2A108-DDC2-46A2-A47B-7431F1F890F1";
/// <summary>
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
/// 岗位培训类别
/// </summary>
public const string PostTrainingCategoryMenuId = "465786B2-AD20-483A-A082-B2C944BE998F";

View File

@ -0,0 +1,29 @@
using System;
using System.Data;
using System.Linq;
namespace BLL
{
/// <summary>
/// 字符串操作辅助类
/// </summary>
public class StringHelper
{
/// <summary>
/// 字符串转换
/// 'A,B,C' => 'A','B','C'
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string StringConvert(string str)
{
string result = string.Empty;
if (!string.IsNullOrWhiteSpace(str))
{
string[] items = str.Split(',');
result = string.Join(",", items.Select(x => $"'{x}'"));
}
return result;
}
}
}

View File

@ -60,6 +60,11 @@ namespace BLL
newModel.Code = model.Code;
newModel.Name = model.Name;
newModel.Remark = model.Remark;
<<<<<<< HEAD
=======
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
Funs.DB.SubmitChanges();
}
}

View File

@ -1,12 +1,19 @@
<<<<<<< HEAD
using EmitMapper;
using Microsoft.Office.Interop.Word;
using MiniExcelLibs;
=======
using MiniExcelLibs;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using Model;
using System.Collections.Generic;
using System;
using System.Linq;
<<<<<<< HEAD
using System.Runtime.CompilerServices;
using Quartz.Util;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace BLL
{
@ -68,6 +75,11 @@ namespace BLL
newModel.Teachers1 = model.Teachers1;
newModel.Teachers2 = model.Teachers2;
newModel.Remark = model.Remark;
<<<<<<< HEAD
=======
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
Funs.DB.SubmitChanges();
}
}

View File

@ -60,6 +60,11 @@ namespace BLL
newModel.Code = model.Code;
newModel.Name = model.Name;
newModel.Remark = model.Remark;
<<<<<<< HEAD
=======
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
Funs.DB.SubmitChanges();
}
}

View File

@ -0,0 +1,113 @@
using Model;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// 岗位培训记录明细
/// </summary>
public static class PostTrainingRecordDetailService
{
/// <summary>
/// 根据主键获取岗位培训记录明细信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public static PostTraining_Record_Detail GetRecordDetailById(string Id)
{
return Funs.DB.PostTraining_Record_Detail.FirstOrDefault(e => e.Id == Id);
}
/// <summary>
/// 根据记录Id、人员Id获取岗位培训记录明细信息
/// </summary>
/// <param name="recordId"></param>
/// <param name="personId"></param>
/// <returns></returns>
public static PostTraining_Record_Detail GetRecordDetailByRecordIdPersonId(string recordId, string personId)
{
return Funs.DB.PostTraining_Record_Detail.FirstOrDefault(e => e.RecordId == recordId && e.PersonId == personId);
}
/// <summary>
/// 根据主键记录Id获取所有的培训明细信息
/// </summary>
/// <param name="recordId"></param>
/// <returns></returns>
public static List<Model.PostTraining_Record_Detail> GetRecordDetailByRecordId(string recordId)
{
return (from x in Funs.DB.PostTraining_Record_Detail where x.RecordId == recordId select x).ToList();
}
/// <summary>
/// 添加岗位培训记录明细
/// </summary>
/// <param name="model"></param>
public static void AddRecordDetail(PostTraining_Record_Detail model)
{
PostTraining_Record_Detail newModel = new PostTraining_Record_Detail
{
Id = model.Id,
RecordId = model.RecordId,
PersonId = model.PersonId
};
Funs.DB.PostTraining_Record_Detail.InsertOnSubmit(newModel);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
public static void UpdateRecordDetail(PostTraining_Record_Detail model)
{
PostTraining_Record_Detail newModel = Funs.DB.PostTraining_Record_Detail.FirstOrDefault(e => e.Id == model.Id);
if (newModel != null)
{
newModel.RecordId = model.RecordId;
newModel.PersonId = model.PersonId;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="Id"></param>
public static void DeleteRecordDetailById(string Id)
{
PostTraining_Record_Detail model = Funs.DB.PostTraining_Record_Detail.FirstOrDefault(e => e.Id == Id);
if (model != null)
{
CommonService.DeleteAttachFileById(Id);
Funs.DB.PostTraining_Record_Detail.DeleteOnSubmit(model);
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除培训记录
/// </summary>
/// <param name="detailId"></param>
public static void DeleteTrainDetailByTrainDetail(string detailId)
{
Model.SGGLDB db = Funs.DB;
Model.PostTraining_Record_Detail trainDetails = Funs.DB.PostTraining_Record_Detail.FirstOrDefault(e => e.Id == detailId);
if (trainDetails != null)
{
db.PostTraining_Record_Detail.DeleteOnSubmit(trainDetails);
db.SubmitChanges();
var record = PostTrainingRecordService.GetRecordById(trainDetails.RecordId);
if (record != null)
{
record.PersonNum -= 1;
BLL.PostTrainingRecordService.UpdateRecord(record);
}
}
}
}
}

View File

@ -0,0 +1,391 @@
using MiniExcelLibs;
using Model;
using System.Collections.Generic;
using System;
using System.Linq;
namespace BLL
{
/// <summary>
/// 岗位培训记录
/// </summary>
public static class PostTrainingRecordService
{
/// <summary>
/// 根据主键获取岗位培训记录信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public static PostTraining_Record GetRecordById(string Id)
{
return Funs.DB.PostTraining_Record.FirstOrDefault(e => e.Id == Id);
}
/// <summary>
/// 添加岗位培训记录
/// </summary>
/// <param name="model"></param>
public static void AddRecord(PostTraining_Record model)
{
PostTraining_Record newModel = new PostTraining_Record
{
Id = model.Id,
ProjectId = model.ProjectId,
Code = model.Code,
Name = model.Name,
Content = model.Content,
CategoryId = model.CategoryId,
CategoryName = model.CategoryName,
CourseId = model.CourseId,
CourseName = model.CourseName,
Location = model.Location,
Method = model.Method,
Lecturer = model.Lecturer,
UnitIds = model.UnitIds,
RoleIds = model.RoleIds,
PersonNum = model.PersonNum,
TrainingTime = model.TrainingTime,
Duration = model.Duration,
CompileDate = model.CompileDate,
CompileMan = model.CompileMan,
Remark = model.Remark
};
Funs.DB.PostTraining_Record.InsertOnSubmit(newModel);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
public static void UpdateRecord(PostTraining_Record model)
{
PostTraining_Record newModel = Funs.DB.PostTraining_Record.FirstOrDefault(e => e.Id == model.Id);
if (newModel != null)
{
newModel.Code = model.Code;
newModel.Name = model.Name;
newModel.Content = model.Content;
newModel.CategoryId = model.CategoryId;
newModel.CategoryName = model.CategoryName;
newModel.CourseId = model.CourseId;
newModel.CourseName = model.CourseName;
newModel.Location = model.Location;
newModel.Method = model.Method;
newModel.Lecturer = model.Lecturer;
newModel.UnitIds = model.UnitIds;
newModel.RoleIds = model.RoleIds;
newModel.PersonNum = model.PersonNum;
newModel.TrainingTime = model.TrainingTime;
newModel.Duration = model.Duration;
newModel.Remark = model.Remark;
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="Id"></param>
public static void DeleteRecordById(string Id)
{
PostTraining_Record model = Funs.DB.PostTraining_Record.FirstOrDefault(e => e.Id == Id);
if (model != null)
{
CommonService.DeleteAttachFileById(Id);
Funs.DB.PostTraining_Record.DeleteOnSubmit(model);
Funs.DB.SubmitChanges();
}
}
#region
///// <summary>
///// 导入数据
///// </summary>
///// <param name="path"></param>
///// <param name="projectid"></param>
///// <param name="creatUserId"></param>
///// <param name="errorList"></param>
///// <returns></returns>
//public static ResponeData ImportData(string OriFileName, string path, string projectid, string creatUserId, ref List<ErrorInfo> errorList)
//{
// var responeData = new ResponeData();
// List<PostTrainingRecord_InputDataIn> temeplateDtoIns;
// try
// {
// temeplateDtoIns = MiniExcel.Query<PostTrainingRecord_InputDataIn>(path, startCell: "A1").ToList();
// }
// catch (Exception ex)
// {
// responeData.code = 0;
// responeData.message = "模板错误:" + ex.ToString();
// return responeData;
// }
// if (temeplateDtoIns.Count == 0)
// {
// responeData.code = 0;
// responeData.message = "导入数据为空!";
// return responeData;
// }
// //培训标准
// var lstRecord = GetRecordInfoList();
// //培训课程
// var lstCourse = PostTrainingCourseService.GetCourseList();
// //培训角色
// var lstRole = PostTrainingRoleService.GetRoleList();
// //培训类别
// var lstCategory = PostTrainingCategoryService.GetCategoryList();
// //培训方式
// var lstMethod = PostTrainingMethodService.GetMethodList();
// //培训教资
// var lstTeachers = PostTrainingTeachersService.GetTeachersList();
// //培训效果
// var lstOutcome = GetPostTrainingOutcomeList();
// #region 数据校验
// string errorMsg = string.Empty;
// int rowIndex = 3;
// foreach (var item in temeplateDtoIns)
// {
// string roleName = !string.IsNullOrWhiteSpace(item.RoleName) ? item.RoleName.Trim() : string.Empty;
// string categoryName = !string.IsNullOrWhiteSpace(item.CategoryName) ? item.CategoryName.Trim() : string.Empty;
// string courseName = !string.IsNullOrWhiteSpace(item.CourseName) ? item.CourseName.Trim() : string.Empty;
// string classHourStr = !string.IsNullOrWhiteSpace(item.ClassHour) ? item.ClassHour.Trim() : string.Empty;
// string cycleStr = !string.IsNullOrWhiteSpace(item.Cycle) ? item.Cycle.Trim() : string.Empty;
// decimal classHour = 0;
// decimal cycle = 0;
// string method = !string.IsNullOrWhiteSpace(item.Method) ? item.Method.Trim() : string.Empty;
// string outcome = !string.IsNullOrWhiteSpace(item.Outcome) ? item.Outcome.Trim() : string.Empty;
// string teachers = !string.IsNullOrWhiteSpace(item.Teachers) ? item.Teachers.Trim() : string.Empty;
// string remark = !string.IsNullOrWhiteSpace(item.Remark) ? item.Remark.Trim() : string.Empty;
// if (!string.IsNullOrWhiteSpace(roleName))
// {
// if (!lstRole.Where(x => x.Name == roleName).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "适用岗位角色";
// errorInfo.Reason = $"角色不存在:{roleName}";
// errorList.Add(errorInfo);
// }
// }
// else
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "适用岗位角色";
// errorInfo.Reason = "不可为空";
// errorList.Add(errorInfo);
// }
// if (!string.IsNullOrWhiteSpace(categoryName))
// {
// if (!lstCategory.Where(x => x.Name == categoryName).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训类别";
// errorInfo.Reason = $"培训类别不存在:{categoryName}";
// errorList.Add(errorInfo);
// }
// }
// else
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训类别";
// errorInfo.Reason = "不可为空";
// errorList.Add(errorInfo);
// }
// if (string.IsNullOrWhiteSpace(courseName))
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课程";
// errorInfo.Reason = "不可为空";
// errorList.Add(errorInfo);
// }
// if (!string.IsNullOrWhiteSpace(categoryName) && !string.IsNullOrWhiteSpace(courseName))
// {
// if (temeplateDtoIns.Where(x => x.RoleName == roleName && x.CourseName == courseName && x.CategoryName == categoryName).Count() > 1)
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课程";
// errorInfo.Reason = $"【{roleName}】导入数据重复:{courseName}{categoryName}";
// errorList.Add(errorInfo);
// }
// if (!lstCourse.Where(x => x.Name == courseName && x.CategoryName == categoryName).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课程";
// errorInfo.Reason = $"【{roleName}】不存在培训课程:{courseName}{categoryName}";
// errorList.Add(errorInfo);
// }
// else if (lstRecord.Where(x => x.CourseName == courseName && x.CategoryName == categoryName).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课程";
// errorInfo.Reason = $"培训标准已存在:{courseName}{categoryName}";
// errorList.Add(errorInfo);
// }
// }
// if (!string.IsNullOrEmpty(classHourStr))
// {
// try
// {
// classHour = decimal.Parse(classHourStr);
// if (classHour <= 0)
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课时";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// }
// catch (Exception)
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课时";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// }
// else
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训课时";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// if (!string.IsNullOrEmpty(cycleStr))
// {
// try
// {
// cycle = decimal.Parse(cycleStr);
// if (cycle <= 0)
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训周期";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// }
// catch (Exception)
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训周期";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// }
// else
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训周期";
// errorInfo.Reason = "请填写大于0的数值";
// errorList.Add(errorInfo);
// }
// if (!string.IsNullOrWhiteSpace(method))
// {
// if (!lstMethod.Where(x => x.Name == method).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训方式";
// errorInfo.Reason = $"培训方式字典不存在:{method}";
// errorList.Add(errorInfo);
// }
// }
// if (!string.IsNullOrWhiteSpace(outcome))
// {
// if (!lstOutcome.Where(x => x.Text == outcome).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训效果";
// errorInfo.Reason = $"培训效果字典不存在:{outcome}";
// errorList.Add(errorInfo);
// }
// }
// if (!string.IsNullOrWhiteSpace(teachers))
// {
// if (!lstTeachers.Where(x => x.Name == teachers).Any())
// {
// ErrorInfo errorInfo = new ErrorInfo();
// errorInfo.Row = rowIndex.ToString();
// errorInfo.Column = "培训师资";
// errorInfo.Reason = $"培训师资字典不存在:{teachers}";
// errorList.Add(errorInfo);
// }
// }
// rowIndex++;
// }
// if (errorList.Any())
// {
// responeData.code = 0;
// responeData.message = "存在异常数据!";
// return responeData;
// }
// #endregion
// foreach (var item in temeplateDtoIns)
// {
// string roleName = !string.IsNullOrWhiteSpace(item.RoleName) ? item.RoleName.Trim() : string.Empty;
// string categoryName = !string.IsNullOrWhiteSpace(item.CategoryName) ? item.CategoryName.Trim() : string.Empty;
// string courseName = !string.IsNullOrWhiteSpace(item.CourseName) ? item.CourseName.Trim() : string.Empty;
// decimal classHour = decimal.Parse(item.ClassHour);
// decimal cycle = decimal.Parse(item.Cycle);
// string method = !string.IsNullOrWhiteSpace(item.Method) ? item.Method.Trim() : string.Empty;
// string outcome = !string.IsNullOrWhiteSpace(item.Outcome) ? item.Outcome.Trim() : string.Empty;
// string teachers = !string.IsNullOrWhiteSpace(item.Teachers) ? item.Teachers.Trim() : string.Empty;
// string remark = !string.IsNullOrWhiteSpace(item.Remark) ? item.Remark.Trim() : string.Empty;
// PostTraining_Record newModel = new PostTraining_Record
// {
// Id = SQLHelper.GetNewID(typeof(PostTraining_Record)),
// Code = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.PostTraining_Record", "Code", ""),
// //ProjectId = this.ProjectId,
// CompileDate = DateTime.Now,
// CompileMan = creatUserId
// };
// newModel.CourseId = lstCourse.Where(x => x.Name == courseName).FirstOrDefault().Id;
// newModel.RoleId = lstRole.Where(x => x.Name == roleName).FirstOrDefault().Id;
// newModel.ClassHour = classHour;
// newModel.Cycle = cycle;
// newModel.Method = method;
// newModel.Outcome = outcome;
// newModel.Teachers = teachers;
// newModel.Remark = remark;
// AddRecord(newModel);
// }
// return responeData;
//}
#endregion
}
}

View File

@ -50,6 +50,11 @@ namespace BLL
newModel.Code = model.Code;
newModel.Name = model.Name;
newModel.Remark = model.Remark;
<<<<<<< HEAD
=======
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
Funs.DB.SubmitChanges();
}
}

View File

@ -1,16 +1,24 @@
<<<<<<< HEAD
using EmitMapper;
using Microsoft.Office.Interop.Word;
using MiniExcelLibs;
=======
using MiniExcelLibs;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using Model;
using System.Collections.Generic;
using System;
using System.Linq;
<<<<<<< HEAD
using System.Runtime.CompilerServices;
using Quartz.Util;
using Microsoft.Office.Interop.Excel;
using RestSharp;
using System.Web.UI.WebControls;
using Microsoft.SqlServer.Dts.Runtime;
=======
using System.Web.UI.WebControls;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace BLL
{

View File

@ -60,6 +60,11 @@ namespace BLL
newModel.Code = model.Code;
newModel.Name = model.Name;
newModel.Remark = model.Remark;
<<<<<<< HEAD
=======
newModel.CompileDate = model.CompileDate;
newModel.CompileMan = model.CompileMan;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
Funs.DB.SubmitChanges();
}
}

View File

@ -344,6 +344,7 @@ namespace BLL
TeamGroupId = person.TeamGroupId,
WorkAreaId = person.WorkAreaId,
WorkPostId = person.WorkPostId,
PostTrainingRoleId = person.PostTrainingRoleId,
OutTime = person.OutTime,
OutResult = person.OutResult,
Telephone = person.Telephone,
@ -423,6 +424,7 @@ namespace BLL
newPerson.TeamGroupId = person.TeamGroupId;
newPerson.WorkAreaId = person.WorkAreaId;
newPerson.WorkPostId = person.WorkPostId;
newPerson.PostTrainingRoleId = person.PostTrainingRoleId;
newPerson.InTime = person.InTime;
newPerson.OutTime = person.OutTime;
newPerson.IsSafetyMonitoring = person.IsSafetyMonitoring;

View File

@ -2200,9 +2200,18 @@
<Content Include="HSSE\Perfomance\PersonPerfomance.aspx" />
<Content Include="HSSE\Perfomance\PersonPerfomanceEdit.aspx" />
<Content Include="HSSE\Perfomance\PersonPerfomanceView.aspx" />
<<<<<<< HEAD
<Content Include="HSSE\PostTraining\Standard.aspx" />
<Content Include="HSSE\PostTraining\StandardDataIn.aspx" />
<Content Include="HSSE\PostTraining\CourseDataIn.aspx" />
=======
<Content Include="HSSE\PostTraining\Record.aspx" />
<Content Include="HSSE\PostTraining\SelectPerson.aspx" />
<Content Include="HSSE\PostTraining\Standard.aspx" />
<Content Include="HSSE\PostTraining\StandardDataIn.aspx" />
<Content Include="HSSE\PostTraining\CourseDataIn.aspx" />
<Content Include="HSSE\PostTraining\RecordEdit.aspx" />
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
<Content Include="HSSE\PostTraining\StandardEdit.aspx" />
<Content Include="HSSE\PostTraining\Teachers.aspx" />
<Content Include="HSSE\PostTraining\TeachersEdit.aspx" />
@ -15082,6 +15091,23 @@
<Compile Include="HSSE\Perfomance\PersonPerfomanceView.aspx.designer.cs">
<DependentUpon>PersonPerfomanceView.aspx</DependentUpon>
</Compile>
<<<<<<< HEAD
=======
<Compile Include="HSSE\PostTraining\Record.aspx.cs">
<DependentUpon>Record.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\PostTraining\Record.aspx.designer.cs">
<DependentUpon>Record.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\PostTraining\SelectPerson.aspx.cs">
<DependentUpon>SelectPerson.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\PostTraining\SelectPerson.aspx.designer.cs">
<DependentUpon>SelectPerson.aspx</DependentUpon>
</Compile>
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
<Compile Include="HSSE\PostTraining\Standard.aspx.cs">
<DependentUpon>Standard.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -15103,6 +15129,16 @@
<Compile Include="HSSE\PostTraining\CourseDataIn.aspx.designer.cs">
<DependentUpon>CourseDataIn.aspx</DependentUpon>
</Compile>
<<<<<<< HEAD
=======
<Compile Include="HSSE\PostTraining\RecordEdit.aspx.cs">
<DependentUpon>RecordEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\PostTraining\RecordEdit.aspx.designer.cs">
<DependentUpon>RecordEdit.aspx</DependentUpon>
</Compile>
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
<Compile Include="HSSE\PostTraining\StandardEdit.aspx.cs">
<DependentUpon>StandardEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -19687,7 +19723,7 @@
<WCFMetadata Include="Service References\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,12 +1,17 @@
using BLL;
using System;
using System.Collections.Generic;
<<<<<<< HEAD
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
=======
using System.Data;
using System.Linq;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -7,6 +8,12 @@ using System.Text;
using System.Xml.Linq;
using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Examine

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@ -9,6 +10,15 @@ using BLL;
using static System.Runtime.CompilerServices.RuntimeHelpers;
using AspNet = System.Web.UI.WebControls;
=======
using System.Data;
using System.Linq;
using System.Text;
using BLL;
using AspNet = System.Web.UI.WebControls;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{
public partial class SharingOfSafetyExperience : PageBase

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,4 +1,5 @@
using BLL;
<<<<<<< HEAD
using FineUIPro.Web.HSSE.SitePerson;
using System;
using System.Collections.Generic;
@ -8,6 +9,11 @@ using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
=======
using System;
using System.Data;
using System.Linq;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.Examine
{

View File

@ -1,10 +1,16 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Xml.Linq;
=======
using System.Data;
using System.Linq;
using System.Text;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -4,7 +4,10 @@ using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
<<<<<<< HEAD
using System.Xml.Linq;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;

View File

@ -6,8 +6,11 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Web;
<<<<<<< HEAD
using System.Web.UI;
using System.Web.UI.WebControls;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -1,10 +1,16 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Xml.Linq;
=======
using System.Data;
using System.Linq;
using System.Text;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -0,0 +1,184 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Record.aspx.cs" Inherits="FineUIPro.Web.HSSE.PostTraining.Record" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>岗位培训记录</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="岗位培训记录" EnableCollapse="true"
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="Id"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true"
SortField="CompileDate" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" AllowColumnLocking="false">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="编号" ID="txtCode" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="60px"
LabelAlign="right">
</f:TextBox>
<f:TextBox runat="server" Label="人员" ID="txtPersonName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="60px"
LabelAlign="right">
</f:TextBox>
<%--<f:DropDownList ID="drpRole" runat="server" Label="适用岗位" AutoSelectFirstItem="true" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px">
</f:DropDownList>
<f:DropDownList ID="drpCategory" runat="server" Label="培训类别" AutoSelectFirstItem="true" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px">
</f:DropDownList>
<f:DropDownList ID="drpMethod" runat="server" Label="培训方式" AutoSelectFirstItem="true" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="180px" LabelWidth="80px">
</f:DropDownList>
<f:DropDownList ID="drpTeachers" runat="server" Label="培训师资" AutoSelectFirstItem="true" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="180px" LabelWidth="80px">
</f:DropDownList>--%>
<%--<f:DropDownList ID="drpOutcome" runat="server" Label="培训效果" AutoSelectFirstItem="true" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="160px" LabelWidth="80px">
</f:DropDownList>--%>
<%--<f:TextBox runat="server" Label="备注" ID="txtRemark" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="60px"
LabelAlign="right">
</f:TextBox>--%>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<%--<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click">
</f:Button>--%>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</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="tfNumber" Width="60px" HeaderText="序号" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="Code" DataField="Code"
SortField="Code" FieldType="String" HeaderText="编号" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PersonName" DataField="PersonName"
SortField="PersonName" FieldType="String" HeaderText="人员" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="120px" ColumnID="RoleName" DataField="RoleName"
SortField="RoleName" FieldType="String" HeaderText="适用岗位" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="180px" ColumnID="CategoryName" DataField="CategoryName"
SortField="CategoryName" FieldType="String" HeaderText="类别" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="300px" ColumnID="CourseName" DataField="CourseName"
SortField="CourseName" FieldType="String" HeaderText="培训课程" HeaderTextAlign="Center" EnableLock="true" Locked="true"
TextAlign="Left">
</f:RenderField>
<%-- <f:RenderField MinWidth="140px" ColumnID="ClassHour" DataField="ClassHour"
SortField="ClassHour" FieldType="Double" HeaderText="培训课时(学时)" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="140px" ColumnID="Cycle" DataField="Cycle"
SortField="Cycle" FieldType="Double" HeaderText="培训周期(年/次)" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="140px" ColumnID="Method" DataField="Method"
SortField="Method" FieldType="String" HeaderText="培训方式" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="140px" ColumnID="Teachers" DataField="Teachers"
SortField="Teachers" FieldType="String" HeaderText="培训教资" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="100px" ColumnID="Outcome" DataField="Outcome"
SortField="Outcome" FieldType="String" HeaderText="培训效果" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>--%>
<f:RenderField MinWidth="280px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="CompileManName" DataField="CompileManName"
SortField="CompileManName" FieldType="String" HeaderText="编制人" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="CompileDate" DataField="CompileDate"
SortField="CompileDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="编制时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<%-- <Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>--%>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<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="20" Value="20" />
<f:ListItem Text="50" Value="50" />
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<%--<f:Window ID="WindowAtt" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true" OnClose="WindowAtt_Close"
Title="岗位培训记录" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>--%>
<f:Window ID="Window1" Title="岗位培训记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="1200px" Height="800px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
//function onGridDataLoad(event) {
// this.mergeColumns(['RoleName', 'CategoryName']);
//}
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,378 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using BLL;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class Record : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
this.InitDropDownList();
////权限按钮方法
this.GetButtonPower();
this.btnNew.OnClientClick = Window1.GetShowReference("RecordEdit.aspx") + "return false;";
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 下拉框加载
/// </summary>
private void InitDropDownList()
{
////获取适用岗位下拉框
//PostTrainingRoleService.InitPostTrainingRoleDropDownList(this.drpRole, true);
////获取培训类别下拉框
//PostTrainingCategoryService.InitPostTrainingCategoryDropDownList(this.drpCategory, true);
////获取培训方式下拉框
//PostTrainingMethodService.InitPostTrainingMethodDropDownList(this.drpMethod, null, true);
////获取培训师资下拉框
//PostTrainingTeachersService.InitPostTrainingTeachersDropDownList(this.drpTeachers, null, true);
////获取培训效果下拉框
//PostTrainingRecordService.InitPostTrainingOutcomeDropDownList(this.drpOutcome, true);
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT Record.*,Person.PersonName,Role.Name AS RoleName
FROM PostTraining_Record_Detail AS Detail
LEFT JOIN PostTraining_Record AS Record ON Record.Id=Detail.RecordId
LEFT JOIN SitePerson_Person AS Person ON Person.PersonId=Detail.PersonId
LEFT JOIN PostTraining_Role AS Role ON Role.Id=Person.PostTrainingRoleId
LEFT JOIN Sys_User AS SUser ON SUser.UserId=Record.CompileMan
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
{
strSql += " AND Record.Code LIKE @Code";
listStr.Add(new SqlParameter("@Code", "%" + this.txtCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND Person.PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
//if (this.drpRole.SelectedValue != BLL.Const._Null)
//{
// strSql += " AND Record.RoleId = @RoleId";
// listStr.Add(new SqlParameter("@RoleId", this.drpRole.SelectedValue));
//}
//if (this.drpCategory.SelectedValue != BLL.Const._Null)
//{
// strSql += " AND Course.CategoryId = @CategoryId";
// listStr.Add(new SqlParameter("@CategoryId", this.drpCategory.SelectedValue));
//}
//if (this.drpMethod.SelectedValue != BLL.Const._Null)
//{
// strSql += " AND Record.Method = @Method";
// listStr.Add(new SqlParameter("@Method", this.drpMethod.SelectedValue));
//}
//if (this.drpTeachers.SelectedValue != BLL.Const._Null)
//{
// strSql += " AND Record.Teachers = @Teachers";
// listStr.Add(new SqlParameter("@Teachers", this.drpTeachers.SelectedValue));
//}
//if (this.drpOutcome.SelectedValue != BLL.Const._Null)
//{
// strSql += " AND Record.Outcome = @Outcome";
// listStr.Add(new SqlParameter("@Outcome", this.drpOutcome.SelectedValue));
//}
strSql += " ORDER BY Record.Code ASC ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <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 ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (this.btnMenuEdit.Hidden)
{
Alert.ShowInTop("抱歉!您没有编辑权限!", MessageBoxIcon.Warning);
return;
}
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var model = BLL.PostTrainingRecordService.GetRecordById(id);
if (model != null)
{
if (this.btnMenuEdit.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
{
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RecordView.aspx?Id={0}", id, "查看 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RecordEdit.aspx?Id={0}", id, "编辑 - ")));
}
}
}
#endregion
#region
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var newModel = BLL.PostTrainingRecordService.GetRecordById(rowID);
if (newModel != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, newModel.Code, newModel.Id, BLL.Const.PostTrainingRecordMenuId, BLL.Const.BtnDelete);
BLL.PostTrainingRecordService.DeleteRecordById(rowID);
}
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#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.PostTrainingRecordMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("岗位培训类别" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = 5000;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfNumber")
{
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
}
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\">{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region
/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
//PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("RecordDataIn.aspx?", "导入 - ")));
}
#endregion
}
}

View File

@ -0,0 +1,170 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class Record
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCode;
/// <summary>
/// txtPersonName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPersonName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}

View File

@ -0,0 +1,186 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RecordEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.PostTraining.RecordEdit" ValidateRequest="false" %>
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>编辑岗位培训记录</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row.Red {
background-color: red;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="岗位培训记录" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtCode" runat="server" Label="编号" Required="true" ShowRedStar="true"
MaxLength="50">
</f:TextBox>
<f:TextBox ID="txtName" runat="server" Label="标题" MaxLength="200" Required="true" ShowRedStar="true">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpCategory" runat="server" Label="培训类别" EnableEdit="true" ForceSelection="false" AutoSelectFirstItem="false" LabelAlign="Right" Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpCategory_SelectedIndexChanged">
</f:DropDownList>
<f:DropDownList ID="drpCourse" runat="server" Label="培训课程" EnableEdit="true" ForceSelection="false" AutoSelectFirstItem="false" LabelAlign="Right" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="培训日期" ID="txtTrainingTime" ShowRedStar="true" Required="true">
</f:DatePicker>
<f:NumberBox ID="txtDuration" NoDecimal="false" NoNegative="true" MaxValue="100" DecimalPrecision="1" MinValue="0" runat="server" Label="学时" ShowRedStar="true" Required="true">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpMethod" runat="server" Label="培训方式" EnableEdit="true" ForceSelection="false" AutoSelectFirstItem="false" LabelAlign="Right" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:TextBox ID="txtLocation" runat="server" Label="培训地点" MaxLength="100">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="txtPersonNum" NoDecimal="true" NoNegative="true" MinValue="0" Readonly="true" runat="server" Label="培训人数">
</f:NumberBox>
<f:TextBox ID="txtLecturer" runat="server" Label="授课人" MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpUnits" runat="server" Label="培训单位" EnableCheckBoxSelect="true" EnableMultiSelect="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow runat="server" ID="trRole">
<Items>
<f:DropDownList ID="drpRole" runat="server" Label="培训岗位" EnableCheckBoxSelect="true" EnableMultiSelect="true" ShowRedStar="true" Required="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtContent" runat="server" Label="培训内容" LabelAlign="right" Height="50px" MaxLength="500">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" Height="50px" MaxLength="1000">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" ClicksToEdit="1" AllowCellEditing="true"
DataIDField="DetailId" DataKeyNames="DetailId" EnableMultiSelect="true"
AllowSorting="true" SortField="UnitName,RoleName,PersonName"
ShowGridHeader="true" Height="200px" EnableColumnLines="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<%-- <f:Button ID="btnImport" ToolTip="导入" Icon="PageExcel" runat="server" ValidateForms="SimpleForm1"
OnClick="btnImport_Click">
</f:Button>--%>
<f:Button ID="btnSelect" Icon="ShapeSquareSelect" runat="server" ToolTip="选择培训人员" ValidateForms="SimpleForm1"
OnClick="btnSelect_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="180px" ColumnID="UnitName" DataField="UnitName" SortField="UnitName" ExpandUnusedSpace="true"
FieldType="String" HeaderText="单位" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="RoleName" DataField="RoleName" SortField="RoleName"
FieldType="String" HeaderText="培训岗位" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="PersonName" DataField="PersonName" SortField="PersonName"
FieldType="String" HeaderText="培训人员" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="1px" ColumnID="Id" DataField="Id"
FieldType="String" HeaderText="主键" Hidden="true" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Label runat="server" ID="lbTemp">
</f:Label>
<f:Button ID="btnAttachUrl" Text="附件" ToolTip="附件上传及查看" Icon="TableCell" runat="server"
OnClick="btnAttachUrl_Click" ValidateForms="SimpleForm1">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="Window1" Title="选择培训人员" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1300px" Height="520px">
</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">
<%-- <f:MenuButton ID="btnMenuView" OnClick="btnMenuView_Click" EnablePostBack="true"
runat="server" Text="查看" Icon="TableGo" Hidden="true">
</f:MenuButton>--%>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="确定删除当前数据?" ConfirmTarget="Parent" runat="server" Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/jscript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
//function renderGender(value) {
// return value == 1 ? '合格' : '不合格';
//}
function onGridDataLoad(event) {
this.mergeColumns(['UnitName'], { depends: true });
this.mergeColumns(['RoleName'], { depends: true });
}
</script>
</body>
</html>

View File

@ -0,0 +1,350 @@
using BLL;
using FineUIPro.Web.HSSE.EduTrain;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class RecordEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 定义集合
/// </summary>
private static List<Model.View_PostTraining_RecordDetail> recordDetails = new List<Model.View_PostTraining_RecordDetail>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.InitDropDownList();
this.Id = Request.Params["Id"];
if (!string.IsNullOrEmpty(this.Id))
{
Model.PostTraining_Record model = BLL.PostTrainingRecordService.GetRecordById(this.Id);
if (model != null)
{
this.txtCode.Text = model.Code;
this.txtRemark.Text = model.Remark;
if (!string.IsNullOrWhiteSpace(model.CourseId))
{
var course = BLL.PostTrainingCourseService.GetCourseById(model.CourseId);
this.drpCategory.SelectedValue = course.CategoryId;
//培训课程
PostTrainingCourseService.InitPostTrainingCourseDropDownList(this.drpCourse, course.CategoryId, false);
this.drpCourse.SelectedValue = model.CourseId;
}
if (!string.IsNullOrWhiteSpace(model.Method))
{
this.drpMethod.SelectedValue = model.Method;
}
}
}
else
{
////自动生成编码
this.txtCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.PostTraining_Record", "Code", "");
}
}
}
/// <summary>
/// 下拉框加载
/// </summary>
private void InitDropDownList()
{
//培训单位
UnitService.InitUnitDropDownList(this.drpUnits, this.ProjectId, false);
//获取适用岗位下拉框
PostTrainingRoleService.InitPostTrainingRoleDropDownList(this.drpRole, false);
//获取培训类别下拉框
PostTrainingCategoryService.InitPostTrainingCategoryDropDownList(this.drpCategory, false);
//获取培训方式下拉框
PostTrainingMethodService.InitPostTrainingMethodDropDownList(this.drpMethod, null, false);
this.drpUnits.SelectedValue = this.CurrUser.UnitId;
////获取培训师资下拉框
//PostTrainingTeachersService.InitPostTrainingTeachersDropDownList(this.drpTeachers, null, false);
//培训效果
////PostTrainingRecordService.InitPostTrainingOutcomeDropDownList(this.drpOutcome, false);
}
/// <summary>
/// 培训类别下拉加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpCategory_SelectedIndexChanged(object sender, EventArgs e)
{
//培训课程
PostTrainingCourseService.InitPostTrainingCourseDropDownList(this.drpCourse, this.drpCategory.SelectedValue, false);
}
/// <summary>
/// 绑定 Grid1
/// </summary>
private void Grid1DataBind()
{
recordDetails = (from x in Funs.DB.View_PostTraining_RecordDetail
where x.RecordId == this.Id
orderby x.UnitName, x.RoleName, x.PersonName
select x).ToList();
Grid1.DataSource = recordDetails;
Grid1.DataBind();
//for (int i = 0; i < Grid1.Rows.Count; i++)
//{
// bool isRed = true;
// string trainDetailId = Grid1.Rows[i].DataKeys[0].ToString();
// var getAtt = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == trainDetailId);
// if (getAtt != null)
// {
// isRed = false;
// }
// if (isRed)
// {
// var getRecordDetail = recordDetails.FirstOrDefault(x => x.DetailId == trainDetailId);
// if (getRecordDetail != null && !string.IsNullOrEmpty(this.TestPlanId)) ////未参加过培训的人员
// {
// var getTestRecord = Funs.DB.Training_TestRecord.FirstOrDefault(x => x.TestManId == getRecordDetail.PersonId && x.TestPlanId == this.TestPlanId);
// if (getTestRecord != null)
// {
// isRed = false;
// }
// }
// }
// if (isRed)
// {
// Grid1.Rows[i].RowCssClass = "Red";
// }
//}
}
#endregion
#region
/// <summary>
/// 选择按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelect_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.Id))
{
this.SaveData(BLL.Const.BtnSave);
}
//培训岗位
string roleIds = string.Empty;
foreach (var item in this.drpRole.SelectedValueArray)
{
roleIds += item + ",";
}
if (!string.IsNullOrEmpty(roleIds))
{
roleIds = roleIds.Substring(0, roleIds.LastIndexOf(","));
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SelectPerson.aspx?RecordId={0}&RoleIds={1}", this.Id, roleIds, "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 批量删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.PostTrainingRecordDetailService.DeleteTrainDetailByTrainDetail(rowID);
}
this.Grid1DataBind();
this.txtPersonNum.Text = recordDetails.Count.ToString();
this.ShowNotify("删除数据成功!(表格数据已重新绑定)");
}
}
#endregion
#region
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
this.Grid1DataBind();
this.txtPersonNum.Text = recordDetails.Count.ToString();
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
this.SaveData(BLL.Const.BtnSave);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="type"></param>
private void SaveData(string type)
{
Model.PostTraining_Record newModel = new Model.PostTraining_Record
{
ProjectId = this.ProjectId,
Code = this.txtCode.Text.Trim(),
CompileDate = DateTime.Now,
CompileMan = this.CurrUser.UserId,
PersonNum = this.Grid1.Rows.Count,
TrainingTime = Funs.GetNewDateTimeOrNow(this.txtTrainingTime.Text.Trim())
};
newModel.Name = this.txtName.Text.Trim();
newModel.Content = this.txtContent.Text.Trim();
newModel.CategoryId = this.drpCategory.SelectedValue;
newModel.CategoryName = this.drpCategory.SelectedText;
newModel.CourseId = this.drpCourse.SelectedValue;
newModel.CourseName = this.drpCourse.SelectedText;
newModel.Location = this.txtLocation.Text.Trim();
newModel.Method = this.drpMethod.SelectedText;
newModel.Lecturer = this.txtLecturer.Text.Trim();
newModel.Duration = decimal.Parse(this.txtDuration.Text.Trim());
newModel.Remark = this.txtRemark.Text.Trim();
//培训单位
string unitIds = string.Empty;
foreach (var item in this.drpUnits.SelectedValueArray)
{
unitIds += item + ",";
}
if (!string.IsNullOrEmpty(unitIds))
{
unitIds = unitIds.Substring(0, unitIds.LastIndexOf(","));
}
//培训岗位
string roleIds = string.Empty;
foreach (var item in this.drpRole.SelectedValueArray)
{
roleIds += item + ",";
}
if (!string.IsNullOrEmpty(roleIds))
{
roleIds = roleIds.Substring(0, roleIds.LastIndexOf(","));
}
newModel.UnitIds = unitIds;
newModel.RoleIds = roleIds;
if (!string.IsNullOrEmpty(this.Id))
{
newModel.Id = this.Id;
BLL.PostTrainingRecordService.UpdateRecord(newModel);
BLL.LogService.AddSys_Log(this.CurrUser, newModel.Code, newModel.Id, BLL.Const.PostTrainingRecordMenuId, BLL.Const.BtnModify);
}
else
{
this.Id = SQLHelper.GetNewID(typeof(Model.PostTraining_Record));
newModel.Id = this.Id;
BLL.PostTrainingRecordService.AddRecord(newModel);
BLL.LogService.AddSys_Log(this.CurrUser, newModel.Code, newModel.Id, BLL.Const.PostTrainingRecordMenuId, BLL.Const.BtnAdd);
}
//JArray mergedData = Grid1.GetMergedData();
//foreach (JObject mergedRow in mergedData)
//{
// string status = mergedRow.Value<string>("status");
// JObject values = mergedRow.Value<JObject>("values");
// Model.PostTraining_Record_Detail detail = BLL.PostTrainingRecordDetailService.GetRecordDetailById(values.Value<string>("DetailId").ToString());
// if (detail != null)
// {
// if (values.Value<string>("CheckResult").ToString() == "1")
// {
// detail.CheckResult = true;
// }
// else
// {
// detail.CheckResult = false;
// }
// detail.CheckScore = Funs.GetNewDecimalOrZero(values.Value<string>("CheckScore").ToString()); ;
// BLL.EduTrain_TrainRecordDetailService.UpdateTrainDetail(detail);
// }
//}
}
#endregion
#region
/// <summary>
/// 上传附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.Id))
{
SaveData(BLL.Const.BtnSave);
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/PostTraining/Record&menuId={1}", Id, BLL.Const.PostTrainingRecordMenuId)));
}
#endregion
}
}

View File

@ -0,0 +1,296 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class RecordEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCode;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// drpCategory 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCategory;
/// <summary>
/// drpCourse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCourse;
/// <summary>
/// txtTrainingTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtTrainingTime;
/// <summary>
/// txtDuration 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtDuration;
/// <summary>
/// drpMethod 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpMethod;
/// <summary>
/// txtLocation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtLocation;
/// <summary>
/// txtPersonNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtPersonNum;
/// <summary>
/// txtLecturer 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtLecturer;
/// <summary>
/// drpUnits 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnits;
/// <summary>
/// trRole 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow trRole;
/// <summary>
/// drpRole 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRole;
/// <summary>
/// txtContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtContent;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// btnSelect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSelect;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbTemp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbTemp;
/// <summary>
/// btnAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}

View File

@ -1,10 +1,16 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Xml.Linq;
=======
using System.Data;
using System.Linq;
using System.Text;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -0,0 +1,87 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectPerson.aspx.cs" Inherits="FineUIPro.Web.HSSE.PostTraining.SelectPerson" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>查找人员</title>
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="true" ShowHeader="false" Layout="HBox"
Margin="5px" BodyPadding="5px">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="人员" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="PersonId" EnableCheckBoxSelect="true" ForceFit="true"
EnableColumnLines="true" DataIDField="PersonId" AllowSorting="true" PageSize="10000"
SortField="InTime,PersonName" SortDirection="DESC" OnSort="Grid1_Sort"
EnableTextSelection="True" >
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DropDownList ID="drpUnit" runat="server" Label="单位" AutoPostBack="true" Width="300px"
LabelWidth="50px" LabelAlign="right" OnSelectedIndexChanged="TextBox_TextChanged">
</f:DropDownList>
<f:TextBox runat="server" EmptyText="输入姓名" AutoPostBack="True" Label="姓名" LabelWidth="50px"
Width="180px" ID="txtPersonName" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:TextBox runat="server" EmptyText="输入卡号" AutoPostBack="True" Label="卡号" LabelWidth="50px"
Width="180px" ID="txtCardNo" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:TextBox runat="server" EmptyText="输入岗位" AutoPostBack="True" Label="岗位" LabelWidth="50px"
Width="180px" ID="txtRoleName" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<%--<f:CheckBox ID="ckPostType2" runat="server" Label="特岗人员" LabelWidth="80px"
Width="80px" OnCheckedChanged="TextBox_TextChanged" AutoPostBack="true">
</f:CheckBox>
<f:CheckBox ID="ckIsHsse" runat="server" Label="安全人员" LabelWidth="80px"
Width="80px" OnCheckedChanged="TextBox_TextChanged" AutoPostBack="true">
</f:CheckBox> --%>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" ToolTip="确认" Icon="Accept" runat="server" OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField HeaderText="单位名称" ColumnID="UnitName" DataField="UnitName" SortField="UnitName" ExpandUnusedSpace="true"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="200px">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="PersonName" DataField="PersonName" FieldType="String"
HeaderText="人员姓名" HeaderTextAlign="Center" TextAlign="Left" SortField="PersonName">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CardNo" DataField="CardNo" FieldType="String"
HeaderText="卡号" HeaderTextAlign="Center" TextAlign="Left" SortField="CardNo">
</f:RenderField>
<f:RenderField HeaderText="性别" ColumnID="SexName" DataField="SexName" SortField="SexName" FieldType="String"
HeaderTextAlign="Center" TextAlign="Left" Width="60px">
</f:RenderField>
<f:RenderField HeaderText="培训岗位" ColumnID="PostTrainingRoleName" DataField="PostTrainingRoleName"
SortField="PostTrainingRoleName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="120px">
</f:RenderField>
<f:RenderField HeaderText="身份证号" ColumnID="IdentityCard" DataField="IdentityCard"
SortField="IdentityCard" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="170px">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="InTime" DataField="InTime"
SortField="InTime" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="入场时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="所在班组" ColumnID="TeamGroupName" DataField="TeamGroupName"
SortField="TeamGroupName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="110px">
</f:RenderField>
<f:RenderField HeaderText="单位工程" ColumnID="WorkAreaName" DataField="WorkAreaName"
SortField="WorkAreaName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="110px">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,236 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.Security;
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class SelectPerson : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string RecordId
{
get
{
return (string)ViewState["RecordId"];
}
set
{
ViewState["RecordId"] = value;
}
}
///// <summary>
///// GV被选择项列表
///// </summary>
//public List<string> ItemSelectedList
//{
// get
// {
// return (List<string>)ViewState["ItemSelectedList"];
// }
// set
// {
// ViewState["ItemSelectedList"] = value;
// }
//}
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.ProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
//单位
BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, true);
this.RecordId = Request.Params["RecordId"];
// 绑定表格
BindGrid();
}
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
//var sss = Grid1;
//var item = Grid1.Rows[rowIndex];
//var sssrrr22 = Grid1.Rows[rowIndex].RowID;
//var sssrrr2233 = item.GetType().GetProperty("PostTrainingRoleId").GetValue(item, null); ;
string personId = Grid1.DataKeys[rowIndex][0].ToString();
//string roleId = Grid1.DataKeys[rowIndex][1].ToString();
var recordDetail = BLL.PostTrainingRecordDetailService.GetRecordDetailByRecordIdPersonId(this.RecordId, personId);
if (recordDetail == null && !string.IsNullOrEmpty(personId))
{
string newKeyID = SQLHelper.GetNewID(typeof(Model.PostTraining_Record_Detail));
Model.PostTraining_Record_Detail detail = new Model.PostTraining_Record_Detail
{
Id = newKeyID,
RecordId = this.RecordId,
PersonId = personId
};
BLL.PostTrainingRecordDetailService.AddRecordDetail(detail);
}
}
//更新培训人数
var record = BLL.PostTrainingRecordService.GetRecordById(this.RecordId);
if (record != null)
{
var item = BLL.PostTrainingRecordDetailService.GetRecordDetailByRecordId(this.RecordId);
record.PersonNum = item.Count();
BLL.PostTrainingRecordService.UpdateRecord(record);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInParent("请至少选择一条记录!");
return;
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string roleIds = Request.Params["RoleIds"];
//var trainType = BLL.TrainTypeService.GetTrainTypeById(type);
if (!string.IsNullOrWhiteSpace(roleIds))
{
string roleIdStr = StringHelper.StringConvert(roleIds);
string strSql = $@"SELECT viewPerSon.PersonId,viewPerSon.UnitName,viewPerSon.PersonName,viewPerSon.CardNo,viewPerSon.SexName,PostTrainingRoleId,PostTrainingRoleName,viewPerSon.IdentityCard,TeamGroupName,WorkAreaName,InTime
FROM View_SitePerson_Person AS viewPerSon
WHERE viewPerSon.ProjectId='{this.ProjectId}' AND viewPerSon.IsUsed='1' ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (BLL.PostTrainingRecordDetailService.GetRecordDetailByRecordId(this.RecordId).Count() > 0)
{
strSql += $@" AND (viewPerSon.PersonId NOT IN (
SELECT PersonId FROM PostTraining_Record AS R
LEFT JOIN PostTraining_Record_Detail AS D ON R.Id = D.RecordId
WHERE R.ProjectId='{this.ProjectId}' AND R.Id = '{this.RecordId}')) ";
}
strSql += $@" AND viewPerSon.PostTrainingRoleId IN ({roleIdStr})";
//if (!trainType.IsRepeat.HasValue || trainType.IsRepeat == false)
//{
// strSql += @" AND viewPerSon.PersonId NOT IN
// (SELECT PersonId FROM PostTraining_Record AS R
// LEFT JOIN PostTraining_Record_Detail AS D ON R.RecordId = D.RecordId
// WHERE R.ProjectId='" + this.ProjectId + "' AND R.TrainTypeId ='" + type + "' AND D.CheckResult = 1)";
//}
if (this.drpUnit.SelectedValue != BLL.Const._Null)
{
strSql += " AND viewPerSon.UnitId=@UnitId";
listStr.Add(new SqlParameter("@UnitId", this.drpUnit.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND viewPerSon.PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtCardNo.Text.Trim()))
{
strSql += " AND viewPerSon.CardNo LIKE @CardNo";
listStr.Add(new SqlParameter("@CardNo", "%" + this.txtCardNo.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtRoleName.Text.Trim()))
{
strSql += " AND viewPerSon.PostTrainingRoleName LIKE @RoleName";
listStr.Add(new SqlParameter("@RoleName", "%" + this.txtRoleName.Text.Trim() + "%"));
}
//if (ckPostType2.Checked)
//{
// strSql += " AND viewPerSon.PostType = @PostType";
// listStr.Add(new SqlParameter("@PostType", BLL.Const.PostType_2));
//}
//if (ckIsHsse.Checked)
//{
// strSql += " AND IsHsse = @IsHsse";
// listStr.Add(new SqlParameter("@IsHsse", true));
//}
strSql += " group by viewPerSon.PersonId,viewPerSon.UnitName,viewPerSon.PersonName,viewPerSon.CardNo,viewPerSon.Sex,PostTrainingRoleId,PostTrainingRoleName,viewPerSon.IdentityCard,TeamGroupName,WorkAreaName,InTime,SexName";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table1 = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table1;
Grid1.DataBind();
}
}
#endregion
#region
/// <summary>
/// Grid1排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
}
}

View File

@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.PostTraining
{
public partial class SelectPerson
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnit;
/// <summary>
/// txtPersonName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPersonName;
/// <summary>
/// txtCardNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCardNo;
/// <summary>
/// txtRoleName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRoleName;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}

View File

@ -61,7 +61,11 @@
</f:Toolbar>
</Toolbars>
<Columns>
<<<<<<< HEAD
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center" EnableLock="true" Locked="true"
=======
<f:TemplateField ColumnID="tfNumber" Width="60px" HeaderText="序号" HeaderTextAlign="Center" EnableLock="true" Locked="true"
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>

View File

@ -4,7 +4,10 @@ using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
<<<<<<< HEAD
using System.Xml.Linq;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;
@ -100,7 +103,11 @@ namespace FineUIPro.Web.HSSE.PostTraining
}
if (this.drpRole.SelectedValue != BLL.Const._Null)
{
<<<<<<< HEAD
strSql += " AND Course.RoleId = @RoleId";
=======
strSql += " AND Standard.RoleId = @RoleId";
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
listStr.Add(new SqlParameter("@RoleId", this.drpRole.SelectedValue));
}
if (this.drpCategory.SelectedValue != BLL.Const._Null)

View File

@ -6,8 +6,11 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Web;
<<<<<<< HEAD
using System.Web.UI;
using System.Web.UI.WebControls;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -1,7 +1,11 @@
using BLL;
<<<<<<< HEAD
using Microsoft.Office.Interop.Excel;
using System;
using System.Web;
=======
using System;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{
@ -156,7 +160,11 @@ namespace FineUIPro.Web.HSSE.PostTraining
newModel.RoleId = this.drpRole.SelectedValue;
newModel.CourseId = this.drpCourse.SelectedValue;
newModel.ClassHour = decimal.Parse(this.txtClassHour.Text.Trim());
<<<<<<< HEAD
newModel.Cycle = int.Parse(this.txtCycle.Text.Trim());
=======
newModel.Cycle = decimal.Parse(this.txtCycle.Text.Trim());
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
newModel.Method = this.drpMethod.SelectedText;
newModel.Outcome = this.drpOutcome.SelectedText;
newModel.Teachers = this.drpTeachers.SelectedText;

View File

@ -1,10 +1,16 @@
using System;
<<<<<<< HEAD
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Xml.Linq;
=======
using System.Data;
using System.Linq;
using System.Text;
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
using BLL;
using AspNet = System.Web.UI.WebControls;

View File

@ -1,6 +1,9 @@
using BLL;
using System;
<<<<<<< HEAD
using System.Web;
=======
>>>>>>> 7396d1b654f9a1d0172b2ac898a20175abe94d74
namespace FineUIPro.Web.HSSE.PostTraining
{

View File

@ -58,6 +58,9 @@
<f:DropDownList ID="drpPost" runat="server" Label="岗位" EnableEdit="true" EnableMultiSelect="true"
Width="200px" LabelWidth="50px" LabelAlign="right" ForceSelection="false" EnableCheckBoxSelect="true">
</f:DropDownList>
<f:DropDownList ID="drpRole" runat="server" Label="培训岗位" EnableEdit="true" EnableMultiSelect="true"
Width="200px" LabelWidth="50px" LabelAlign="right" ForceSelection="false" EnableCheckBoxSelect="true">
</f:DropDownList>
<f:DropDownList ID="drpTreamGroup" runat="server" Label="班组" EnableEdit="true"
Width="200px" LabelWidth="50px" LabelAlign="right" ForceSelection="false">
</f:DropDownList>
@ -113,6 +116,9 @@
<f:RenderField HeaderText="单位名称" ColumnID="UnitName" DataField="UnitName" SortField="UnitName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="200px">
</f:RenderField>
<f:RenderField HeaderText="培训岗位" ColumnID="PostTrainingRoleName" DataField="PostTrainingRoleName" SortField="PostTrainingRoleName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
</f:RenderField>
<%-- <f:RenderField HeaderText="部门名称" ColumnID="DepartName" DataField="DepartName" SortField="DepartName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField> --%>

View File

@ -65,6 +65,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
this.btnMenuDelete.ConfirmText = String.Format("你确定要删除选中的&nbsp;<b><script>{0}</script></b>&nbsp;行数据吗?", Grid1.GetSelectedCountReference());
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
BLL.WorkPostService.InitWorkPostDropDownList(this.drpPost, true);
PostTrainingRoleService.InitPostTrainingRoleDropDownList(this.drpRole, true);
this.InitTreeMenu();//加载树
}
}
@ -293,6 +294,22 @@ namespace FineUIPro.Web.HSSE.SitePerson
strSql += ")";
}
if (this.drpRole.SelectedItemArray.Count() > 1 || (this.drpRole.SelectedValue != BLL.Const._Null && this.drpRole.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.drpRole.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR PostTrainingRoleId = @PostTrainingRoleId" + i.ToString();
listStr.Add(new SqlParameter("@PostTrainingRoleId" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ckTrain.Checked)
{
strSql += " AND TrainCount is null ";

View File

@ -131,6 +131,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </remarks>
protected global::FineUIPro.DropDownList drpPost;
/// <summary>
/// drpRole 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRole;
/// <summary>
/// drpTreamGroup 控件。
/// </summary>

View File

@ -144,6 +144,8 @@
<f:RadioItem Value="True" Text="是" />
<f:RadioItem Value="False" Text="否" />
</f:RadioButtonList>
<f:DropDownList ID="drpRole" runat="server" Label="培训岗位" LabelAlign="Right" Required="True" ShowRedStar="True" EnableEdit="true">
</f:DropDownList>
</Items>
</f:Panel>

View File

@ -113,6 +113,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
this.drpPost.SelectedValue = person.WorkPostId;
}
if (!string.IsNullOrEmpty(person.PostTrainingRoleId))
{
this.drpRole.SelectedValue = person.PostTrainingRoleId;
}
if (!string.IsNullOrEmpty(person.PositionId))
{
this.drpPosition.SelectedValue = person.PositionId;
@ -264,7 +268,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
gvWorkArea.DataSource = BLL.UnitWorkService.GetUnitWorkLists(this.ProjectId);
gvWorkArea.DataBind();//单位工程
//所属岗位
WorkPostService.InitWorkPostDropDownList(this.drpPost, true);
//培训岗位
PostTrainingRoleService.InitPostTrainingRoleDropDownList(this.drpRole, true);
PositionService.InitPositionDropDownList(this.drpPosition, true);
PostTitleService.InitPostTitleDropDownList(this.drpTitle, true);
TeamGroupService.InitTeamGroupProjectUnitDropDownList(this.drpTeamGroup, this.ProjectId, this.UnitId, true);
@ -326,6 +333,11 @@ namespace FineUIPro.Web.HSSE.SitePerson
ShowNotify("请选择所属岗位!", MessageBoxIcon.Warning);
return;
}
if (this.drpRole.SelectedValue == BLL.Const._Null)
{
ShowNotify("请选择培训岗位!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(this.txtInTime.Text))
{
ShowNotify("入场时间不能为空!", MessageBoxIcon.Warning);
@ -386,6 +398,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
person.WorkPostId = this.drpPost.SelectedValue;
}
if (this.drpRole.SelectedValue != BLL.Const._Null)
{
person.PostTrainingRoleId = this.drpRole.SelectedValue;
}
if (this.drpPosition.SelectedValue != BLL.Const._Null)
{
person.PositionId = this.drpPosition.SelectedValue;

View File

@ -401,6 +401,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsUsed;
/// <summary>
/// drpRole 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRole;
/// <summary>
/// Panel5 控件。
/// </summary>

View File

@ -1,5 +1,4 @@
using BLL;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@ -7,7 +6,6 @@ using System.Data;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security.Policy;
using System.Text;
using System.Web;
using System.Web.Security;

File diff suppressed because it is too large Load Diff