20211207 新增与博晟培训考试对接写入数据接口以及页面数据呈现
This commit is contained in:
parent
3d3e34606e
commit
899a39776a
|
@ -0,0 +1,271 @@
|
|||
--博晟培训考试
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','博晟培训考试','',95,'0','Menu_HSSE',0,0,1)
|
||||
GO
|
||||
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('FCA7A020-9F1B-4E1B-B457-001E05A19774','项目单位','BoSheng/BoUnit.aspx',10,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1','人员信息','BoSheng/BoPerson.aspx',20,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('9DF3DA33-E80D-4BF5-882C-842E400F7CAF','培训记录','BoSheng/BoTrain.aspx',30,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('17666A2C-EE47-42DE-AB8E-E23088BB156D','培训人员','BoSheng/BoTrainPerson.aspx',40,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('909BBC10-68D4-4C97-9FC3-9C1168D5FBC5','培训试卷','BoSheng/BoExam.aspx',50,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F','人员培训记录','BoSheng/BoPersonTrainRecord.aspx',60,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
|
||||
--- 1 项目单位
|
||||
CREATE TABLE [dbo].[Bo_Sheng_Unit](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[ParentID] [nvarchar](50) NULL,
|
||||
[DepartCode] [nvarchar](50) NULL,
|
||||
[ParentCode] [nvarchar](50) NULL,
|
||||
[DepartName] [nvarchar](50) NULL,
|
||||
[DepartType] [nvarchar](50) NULL,
|
||||
[DepartShortName] [nvarchar](50) NULL,
|
||||
[DepartOrder] [nvarchar](50) NULL,
|
||||
[State] [nvarchar](50) NULL,
|
||||
[DepartSir] [nvarchar](50) NULL,
|
||||
[IsEpiboly] [nvarchar](50) NULL,
|
||||
[Phone] [nvarchar](50) NULL,
|
||||
[Charge] [nvarchar](50) NULL,
|
||||
[Remark] [nvarchar](50) NULL,
|
||||
[OwnerDeptID] [nvarchar](50) NULL,
|
||||
[CreateDate] [datetime] NULL,
|
||||
[CreateUser] [nvarchar](50) NULL,
|
||||
[OperDate] [datetime] NULL,
|
||||
[OperUser] [nvarchar](50) NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_Unit] 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]
|
||||
|
||||
GO
|
||||
|
||||
--- 2 人员信息
|
||||
CREATE TABLE [dbo].[Bo_Sheng_Person](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[CreateDate] [datetime] NULL,
|
||||
[CreateUser] [nvarchar](50) NULL,
|
||||
[OperDate] [datetime] NULL,
|
||||
[OperUser] [nvarchar](50) NULL,
|
||||
[DeleteUser] [nvarchar](50) NULL,
|
||||
[DeleteDate] [datetime] NULL,
|
||||
[DeleteTag] [nvarchar](50) NULL,
|
||||
[Name] [nvarchar](100) NULL,
|
||||
[Sex] [nvarchar](2) NULL,
|
||||
[BirthDay] [datetime] NULL,
|
||||
[Address] [nvarchar](200) NULL,
|
||||
[Nation] [nvarchar](50) NULL,
|
||||
[IdentifyID] [nvarchar](50) NULL,
|
||||
[Kind] [nvarchar](50) NULL,
|
||||
[Photo] [nvarchar](2000) NULL,
|
||||
[Police] [nvarchar](50) NULL,
|
||||
[ValidPeriodStart] [nvarchar](50) NULL,
|
||||
[ValidPeriodEnd] [nvarchar](50) NULL,
|
||||
[Education] [nvarchar](50) NULL,
|
||||
[Native] [nvarchar](500) NULL,
|
||||
[Telephone] [nvarchar](50) NULL,
|
||||
[MaritalStatus] [nvarchar](50) NULL,
|
||||
[BloodGroup] [nvarchar](50) NULL,
|
||||
[RegisteredType] [nvarchar](50) NULL,
|
||||
[Age] [int] NULL,
|
||||
[JobNumber] [nvarchar](50) NULL,
|
||||
[CardContent] [nvarchar](50) NULL,
|
||||
[ContactTel] [nvarchar](50) NULL,
|
||||
[SecondContacts] [nvarchar](50) NULL,
|
||||
[SecondContactsTel] [nvarchar](50) NULL,
|
||||
[NewAddress] [nvarchar](50) NULL,
|
||||
[HealthCondition] [nvarchar](50) NULL,
|
||||
[HealthFile] [nvarchar](500) NULL,
|
||||
[BuildArea] [nvarchar](50) NULL,
|
||||
[TraPrincipal] [nvarchar](50) NULL,
|
||||
[RegisterDate] [datetime] NULL,
|
||||
[CategoryType] [nvarchar](50) NULL,
|
||||
[Station] [nvarchar](50) NULL,
|
||||
[Category] [nvarchar](50) NULL,
|
||||
[CategoryLevel] [nvarchar](50) NULL,
|
||||
[EntranceDate] [datetime] NULL,
|
||||
[IsOut] [nvarchar](50) NULL,
|
||||
[LeaveDate] [datetime] NULL,
|
||||
[IsBlackList] [nvarchar](50) NULL,
|
||||
[AgreementId] [nvarchar](100) NULL,
|
||||
[HasInsurance] [nvarchar](50) NULL,
|
||||
[DeviceNumber] [nvarchar](50) NULL,
|
||||
[IsActive] [nvarchar](50) NULL,
|
||||
[DepartId] [nvarchar](50) NULL,
|
||||
[DepartName] [nvarchar](100) NULL,
|
||||
[OwnerDepartId] [nvarchar](50) NULL,
|
||||
[UploadTime] [datetime] NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_Person] 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]
|
||||
|
||||
GO
|
||||
|
||||
--- 3 培训记录
|
||||
CREATE TABLE [dbo].[Bo_Sheng_Train](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[DeleteUser] [nvarchar](50) NULL,
|
||||
[DeleteDate] [datetime] NULL,
|
||||
[DeleteTag] [nvarchar](50) NULL,
|
||||
[RecordName] [nvarchar](500) NULL,
|
||||
[TrainType] [nvarchar](50) NULL,
|
||||
[PaperMode] [nvarchar](50) NULL,
|
||||
[TrainMode] [nvarchar](50) NULL,
|
||||
[TrainPrincipal] [nvarchar](50) NULL,
|
||||
[TrainStartDate] [datetime] NULL,
|
||||
[TrainEndDate] [datetime] NULL,
|
||||
[TrainContent] [nvarchar](max) NULL,
|
||||
[TrainDescript] [nvarchar](max) NULL,
|
||||
[TrainPeriod] [nvarchar](50) NULL,
|
||||
[PersonCount] [int] NULL,
|
||||
[PassedCount] [int] NULL,
|
||||
[CoverImg] [nvarchar](2000) NULL,
|
||||
[DemandID] [nvarchar](50) NULL,
|
||||
[CourseCount] [int] NULL,
|
||||
[CourseDuration] [nvarchar](50) NULL,
|
||||
[Source] [nvarchar](50) NULL,
|
||||
[Description] [nvarchar](500) NULL,
|
||||
[DeviceNo] [nvarchar](50) NULL,
|
||||
[OwnerDepartId] [nvarchar](50) NULL,
|
||||
[UploadTime] [datetime] NULL,
|
||||
[OwnerDeptName] [nvarchar](100) NULL,
|
||||
[TrainDepart] [nvarchar](max) NULL,
|
||||
[CreateDate] [datetime] NULL,
|
||||
[CreateUser] [nvarchar](50) NULL,
|
||||
[OperDate] [datetime] NULL,
|
||||
[OperUser] [nvarchar](50) NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_Train] 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] TEXTIMAGE_ON [PRIMARY]
|
||||
|
||||
GO
|
||||
|
||||
--- 4 培训人员
|
||||
CREATE TABLE [dbo].[Bo_Sheng_TrainPerson](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[DeleteUser] [nvarchar](50) NULL,
|
||||
[DeleteDate] [datetime] NULL,
|
||||
[DeleteTag] [nvarchar](50) NULL,
|
||||
[EmpName] [nvarchar](100) NULL,
|
||||
[IdentifyId] [nvarchar](50) NULL,
|
||||
[Photo] [nvarchar](500) NULL,
|
||||
[Station] [nvarchar](50) NULL,
|
||||
[Category] [nvarchar](50) NULL,
|
||||
[CategoryName] [nvarchar](50) NULL,
|
||||
[RecordId] [nvarchar](50) NULL,
|
||||
[SignName] [nvarchar](500) NULL,
|
||||
[DepartId] [nvarchar](50) NULL,
|
||||
[DepartName] [nvarchar](50) NULL,
|
||||
[SignInDate] [datetime] NULL,
|
||||
[SignInType] [nvarchar](50) NULL,
|
||||
[TrainPeriod] [nvarchar](50) NULL,
|
||||
[State] [nvarchar](50) NULL,
|
||||
[TotalScore] [decimal](18, 2) NULL,
|
||||
[PassScore] [decimal](18, 0) NULL,
|
||||
[Score] [decimal](18, 2) NULL,
|
||||
[IsPass] [nvarchar](50) NULL,
|
||||
[GroupNo] [nvarchar](50) NULL,
|
||||
[ExamNo] [nvarchar](50) NULL,
|
||||
[ExamCount] [int] NULL,
|
||||
[DeviceNo] [nvarchar](50) NULL,
|
||||
[OwnerDepartId] [nvarchar](50) NULL,
|
||||
[UploadTime] [datetime] NULL,
|
||||
[Answers] [nvarchar](2000) NULL,
|
||||
[CreateDate] [datetime] NULL,
|
||||
[CreateUser] [nvarchar](50) NULL,
|
||||
[OperDate] [datetime] NULL,
|
||||
[OperUser] [nvarchar](50) NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_TrainPerson] 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]
|
||||
|
||||
GO
|
||||
|
||||
--- 5 考试试卷
|
||||
CREATE TABLE [dbo].[Bo_Sheng_Exam](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[RecordId] [nvarchar](50) NULL,
|
||||
[ExamNo] [nvarchar](50) NULL,
|
||||
[GroupNo] [nvarchar](50) NULL,
|
||||
[CourseID] [nvarchar](50) NULL,
|
||||
[COrder] [int] NULL,
|
||||
[QsnCode] [nvarchar](50) NULL,
|
||||
[QsnId] [nvarchar](50) NULL,
|
||||
[QsnContent] [nvarchar](max) NULL,
|
||||
[QsnFileName] [nvarchar](50) NULL,
|
||||
[QsnAnswer] [nvarchar](50) NULL,
|
||||
[QsnCategory] [nvarchar](50) NULL,
|
||||
[QsnKind] [nvarchar](50) NULL,
|
||||
[QsnImportant] [nvarchar](50) NULL,
|
||||
[Description] [nvarchar](500) NULL,
|
||||
[Analysis] [nvarchar](max) NULL,
|
||||
[UploadTime] [datetime] NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_Exam] 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] TEXTIMAGE_ON [PRIMARY]
|
||||
|
||||
GO
|
||||
|
||||
--- 6 人员培训记录
|
||||
CREATE TABLE [dbo].[Bo_Sheng_PersonTrainRecord](
|
||||
[ID] [nvarchar](50) NOT NULL,
|
||||
[ProjectId] [nvarchar](50) NULL,
|
||||
[EmpName] [nvarchar](50) NULL,
|
||||
[IdentifyId] [nvarchar](50) NULL,
|
||||
[CategoryName] [nvarchar](50) NULL,
|
||||
[RecordId] [nvarchar](50) NULL,
|
||||
[DepartId] [nvarchar](50) NULL,
|
||||
[DepartName] [nvarchar](50) NULL,
|
||||
[TrainPeriod] [nvarchar](50) NULL,
|
||||
[TotalScore] [decimal](18, 2) NULL,
|
||||
[PassScore] [decimal](18, 2) NULL,
|
||||
[Score] [decimal](18, 2) NULL,
|
||||
[IsPass] [nvarchar](50) NULL,
|
||||
[GroupNo] [nvarchar](50) NULL,
|
||||
[ExamNo] [nvarchar](50) NULL,
|
||||
[ExamCount] [nvarchar](50) NULL,
|
||||
[DeviceNo] [nvarchar](50) NULL,
|
||||
[OwnerDepartId] [nvarchar](50) NULL,
|
||||
[Answers] [nvarchar](500) NULL,
|
||||
[RecordName] [nvarchar](50) NULL,
|
||||
[TrainType] [nvarchar](50) NULL,
|
||||
[PaperMode] [nvarchar](50) NULL,
|
||||
[TrainMode] [nvarchar](50) NULL,
|
||||
[TrainPrincipal] [nvarchar](50) NULL,
|
||||
[TrainStartDate] [datetime] NULL,
|
||||
[TrainEndDate] [datetime] NULL,
|
||||
[TrainContent] [nvarchar](2000) NULL,
|
||||
[TrainDescript] [nvarchar](max) NULL,
|
||||
CONSTRAINT [PK_Bo_Sheng_PersonTrainRecord] 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] TEXTIMAGE_ON [PRIMARY]
|
||||
|
||||
GO
|
||||
|
||||
|
|
@ -518,6 +518,30 @@ GO
|
|||
VALUES('6FF941C1-8A00-4A74-8111-C892FC30A8DA','考试统计','HSSE/EduTrain/TestStatistics.aspx',80,'6A0506EB-05CE-4BB3-9BA9-866389F01E1C','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
|
||||
--博晟培训考试
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','博晟培训考试','',95,'0','Menu_HSSE',0,0,1)
|
||||
GO
|
||||
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('FCA7A020-9F1B-4E1B-B457-001E05A19774','项目单位','BoSheng/BoUnit.aspx',10,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1','人员信息','BoSheng/BoPerson.aspx',20,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('9DF3DA33-E80D-4BF5-882C-842E400F7CAF','培训记录','BoSheng/BoTrain.aspx',30,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('17666A2C-EE47-42DE-AB8E-E23088BB156D','培训人员','BoSheng/BoTrainPerson.aspx',40,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('909BBC10-68D4-4C97-9FC3-9C1168D5FBC5','培训试卷','BoSheng/BoExam.aspx',50,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F','人员培训记录','BoSheng/BoPersonTrainRecord.aspx',60,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
|
||||
GO
|
||||
|
||||
--HSSE检查管理
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('467A0CB9-737D-4451-965E-869EBC3A4BD6','HSE检查','',100,'0','Menu_HSSE',0,0,1)
|
||||
|
|
|
@ -20,18 +20,28 @@ namespace BLL
|
|||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
int maxId = 0;
|
||||
string name = string.Empty;
|
||||
var getPersonByIdCard = db.SitePerson_Person.Where(x => x.IdentityCard == idCard).OrderByDescending(x=>x.InTime).FirstOrDefault();
|
||||
if (getPersonByIdCard != null)
|
||||
{
|
||||
name = getPersonByIdCard.PersonName;
|
||||
projectId = getPersonByIdCard.ProjectId;
|
||||
}
|
||||
else
|
||||
{
|
||||
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId == projectId);
|
||||
if (getPerson != null)
|
||||
{
|
||||
name = getPerson.PersonName;
|
||||
}
|
||||
}
|
||||
|
||||
var getmax = db.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == Intype).Select(x => x.ID);
|
||||
if (getmax.Count() > 0)
|
||||
{
|
||||
maxId = getmax.Max() + 1;
|
||||
}
|
||||
string name = string.Empty;
|
||||
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId ==projectId);
|
||||
if (getPerson != null)
|
||||
{
|
||||
name = getPerson.PersonName;
|
||||
}
|
||||
|
||||
|
||||
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
|
@ -44,9 +54,9 @@ namespace BLL
|
|||
RecordDes = Intype,
|
||||
InOrOut = (isIn == 1 ? "进门" : "出门"),
|
||||
};
|
||||
|
||||
db.T_d_facerecord.InsertOnSubmit(newFacerecord);
|
||||
db.SubmitChanges();
|
||||
|
||||
///// 根据出入记录 写入考勤记录
|
||||
Model.t_d_facerecordItem facerecord = new Model.t_d_facerecordItem
|
||||
{
|
||||
|
|
|
@ -163,6 +163,7 @@
|
|||
<Compile Include="BaseInfo\UnitTypeService.cs" />
|
||||
<Compile Include="BaseInfo\WorkPostService.cs" />
|
||||
<Compile Include="BaseInfo\WorkStageService.cs" />
|
||||
<Compile Include="BoSheng\BOSHENGService.cs" />
|
||||
<Compile Include="Common\AttachFileService.cs" />
|
||||
<Compile Include="Common\CodeRecordsService.cs" />
|
||||
<Compile Include="Common\CommonService.cs" />
|
||||
|
@ -707,6 +708,7 @@
|
|||
<Compile Include="TestRun\ProduceTestRun\TestRunRecordService.cs" />
|
||||
<Compile Include="TestRun\ProduceTestRun\TestRunReportService.cs" />
|
||||
<Compile Include="TestRun\TestRunService.cs" />
|
||||
<Compile Include="BoSheng\BOSHENGMonitorService.cs" />
|
||||
<Compile Include="WebService\MCSWebService.cs" />
|
||||
<Compile Include="WebService\CNCECHSSEWebService.cs" />
|
||||
<Compile Include="WebService\CNCECHSSEMonitorService.cs" />
|
||||
|
|
|
@ -0,0 +1,639 @@
|
|||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Timers;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public class BOSHENGMonitorService
|
||||
{
|
||||
#region 启动监视器 系统启动5分钟
|
||||
/// <summary>
|
||||
/// 监视组件
|
||||
/// </summary>
|
||||
private static Timer messageTimer;
|
||||
|
||||
/// <summary>
|
||||
/// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 系统启动5分钟
|
||||
/// </summary>
|
||||
public static void StartMonitor()
|
||||
{
|
||||
int adTimeJ = 120;
|
||||
if (messageTimer != null)
|
||||
{
|
||||
messageTimer.Stop();
|
||||
messageTimer.Dispose();
|
||||
messageTimer = null;
|
||||
}
|
||||
if (adTimeJ > 0)
|
||||
{
|
||||
messageTimer = new Timer
|
||||
{
|
||||
AutoReset = true
|
||||
};
|
||||
messageTimer.Elapsed += new ElapsedEventHandler(AddData);
|
||||
messageTimer.Interval = 1000 * 60 * adTimeJ;// 60000 * adTimeJ;
|
||||
messageTimer.Start();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程确认 定时执行 系统启动5分钟
|
||||
/// </summary>
|
||||
/// <param name="sender">Timer组件</param>
|
||||
/// <param name="e">事件参数</param>
|
||||
private static void AddData(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getDataList = (from x in Funs.DB.Sys_DataExchange where x.IsUpdate == false select x).Take(200).ToList();
|
||||
if (getDataList.Count() > 0)
|
||||
{
|
||||
var getDataList0 = getDataList.Where(x => x.MessageText.Contains("\"Type\":0")).ToList();
|
||||
var getDataList1 = getDataList.Where(x => x.MessageText.Contains("\"Type\":1")).ToList();
|
||||
var getDataList2 = getDataList.Where(x => x.MessageText.Contains("\"Type\":2")).ToList();
|
||||
var getDataList3 = getDataList.Where(x => x.MessageText.Contains("\"Type\":3")).ToList();
|
||||
var getDataList4 = getDataList.Where(x => x.MessageText.Contains("\"Type\":4")).ToList();
|
||||
var getDataList5 = getDataList.Where(x => x.MessageText.Contains("\"Type\":5")).ToList();
|
||||
|
||||
AddDataItem(getDataList1);
|
||||
AddDataItem(getDataList0);
|
||||
AddDataItem(getDataList2);
|
||||
AddDataItem(getDataList3);
|
||||
AddDataItem(getDataList4);
|
||||
AddDataItem(getDataList5);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
StartMonitor();
|
||||
ErrLogInfo.WriteLog(ex, "博晟数据接口定时器", "RealNameMonitorService.AdUserInProcess");
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 与博晟培训考试接口数据插入明细方法
|
||||
/// <summary>
|
||||
/// 与博晟培训考试接口数据插入明细方法
|
||||
/// </summary>
|
||||
/// <param name="getDataExchange"></param>
|
||||
private static void AddDataItem(List<Model.Sys_DataExchange> getDataExchange)
|
||||
{
|
||||
bool isOk = false;
|
||||
foreach (var item in getDataExchange)
|
||||
{
|
||||
JObject obj = JObject.Parse(item.MessageText);
|
||||
string type = obj["Type"].ToString();
|
||||
string code = obj["Code"].ToString();
|
||||
string fromprojectId = obj["DepartId"].ToString();
|
||||
JArray arr = JArray.Parse(obj["Data"].ToString());
|
||||
string projectId = string.Empty;
|
||||
////根据传值项目主键
|
||||
var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId);
|
||||
if (getProjectByFromProjectId != null)
|
||||
{
|
||||
projectId = getProjectByFromProjectId.ProjectId;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (type == "1")
|
||||
{
|
||||
projectId = AddProject(arr);
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(projectId))
|
||||
{
|
||||
var sysUser = BLL.UserService.GetUserByUserId(BLL.Const.sysglyId);
|
||||
if (sysUser != null)
|
||||
{
|
||||
sysUser.LoginProjectId = projectId;
|
||||
}
|
||||
|
||||
if (type == "0")
|
||||
{
|
||||
isOk = AddPerson(projectId, arr, sysUser);
|
||||
}
|
||||
else if (type == "1")
|
||||
{
|
||||
isOk = AddUnit(projectId, arr, sysUser);
|
||||
}
|
||||
else if (type == "2")
|
||||
{
|
||||
isOk = AddTrainRecord(projectId, arr, sysUser);
|
||||
}
|
||||
else if (type == "3")
|
||||
{
|
||||
isOk = AddTrainRecordPerson(projectId, arr, sysUser);
|
||||
}
|
||||
else if (type == "4")
|
||||
{
|
||||
isOk = AddEduTrain_TrainTest(projectId, arr, sysUser);
|
||||
}
|
||||
else if (type == "5")
|
||||
{
|
||||
isOk = AddPersonTrainRecord(projectId, arr, sysUser);
|
||||
}
|
||||
|
||||
if (isOk) ///更新数据接收状态
|
||||
{
|
||||
item.IsUpdate = true;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入信息-项目信息
|
||||
/// <summary>
|
||||
/// 插入信息-项目信息
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static string AddProject(JArray arr)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
string projectId = string.Empty;
|
||||
try
|
||||
{
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string fromUnitId = item["ID"].ToString();
|
||||
string departName = item["DepartName"].ToString(); ///单位名称
|
||||
string departSir = item["DepartSir"].ToString(); ///单位级别 0:非项目部 1:项目部级 2:项目部下级单位
|
||||
if (!string.IsNullOrEmpty(fromUnitId) && !string.IsNullOrEmpty(departName) && departSir == "1")
|
||||
{
|
||||
var getProjectByFromProjectId = db.Base_Project.FirstOrDefault(x => x.FromProjectId == fromUnitId);
|
||||
if (getProjectByFromProjectId == null)
|
||||
{
|
||||
string projectCode = item["ProjectCode"].ToString();
|
||||
var getProjectByProjectCode = db.Base_Project.FirstOrDefault(x => x.ProjectCode == projectCode);
|
||||
if (getProjectByProjectCode != null)
|
||||
{
|
||||
projectId = getProjectByProjectCode.ProjectId;
|
||||
getProjectByProjectCode.FromProjectId = fromUnitId;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ErrLogInfo.WriteLog("博晟-项目同步", ex);
|
||||
}
|
||||
return projectId;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入人员信息
|
||||
/// <summary>
|
||||
/// 插入人员信息 0
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddPerson(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_Person> insertPersons = new List<Model.Bo_Sheng_Person>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getPerson = db.Bo_Sheng_Person.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getPerson == null)
|
||||
{
|
||||
Model.Bo_Sheng_Person newPerson = new Model.Bo_Sheng_Person
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId =projectId,
|
||||
CreateDate =Funs.GetNewDateTime( item["CreateDate"].ToString()),
|
||||
CreateUser = item["CreateUser"].ToString(),
|
||||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||||
OperUser = item["OperUser"].ToString(),
|
||||
DeleteUser = item["DeleteUser"].ToString(),
|
||||
DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString()),
|
||||
DeleteTag = item["DeleteTag"].ToString(),
|
||||
Name = item["Name"].ToString(),
|
||||
Sex = item["Sex"].ToString(),
|
||||
BirthDay = Funs.GetNewDateTime(item["BirthDay"].ToString()),
|
||||
Address = item["Address"].ToString(),
|
||||
Nation = item["Nation"].ToString(),
|
||||
IdentifyID = item["IdentifyID"].ToString(),
|
||||
Kind = item["Kind"].ToString(),
|
||||
Photo = item["Photo"].ToString(),
|
||||
Police = item["Police"].ToString(),
|
||||
ValidPeriodStart = item["ValidPeriodStart"].ToString(),
|
||||
ValidPeriodEnd = item["ValidPeriodEnd"].ToString(),
|
||||
Education = item["Education"].ToString(),
|
||||
Native = item["Native"].ToString(),
|
||||
Telephone = item["Telephone"].ToString(),
|
||||
MaritalStatus = item["MaritalStatus"].ToString(),
|
||||
BloodGroup = item["BloodGroup"].ToString(),
|
||||
RegisteredType = item["RegisteredType"].ToString(),
|
||||
Age = Funs.GetNewInt(item["Age"].ToString()),
|
||||
JobNumber = item["JobNumber"].ToString(),
|
||||
CardContent = item["CardContent"].ToString(),
|
||||
ContactTel = item["ContactTel"].ToString(),
|
||||
SecondContacts = item["SecondContacts"].ToString(),
|
||||
SecondContactsTel = item["SecondContactsTel"].ToString(),
|
||||
NewAddress = item["NewAddress"].ToString(),
|
||||
HealthCondition = item["HealthCondition"].ToString(),
|
||||
HealthFile = item["HealthFile"].ToString(),
|
||||
BuildArea = item["BuildArea"].ToString(),
|
||||
TraPrincipal = item["TraPrincipal"].ToString(),
|
||||
RegisterDate = Funs.GetNewDateTime(item["RegisterDate"].ToString()),
|
||||
CategoryType = item["CategoryType"].ToString(),
|
||||
Station = item["Station"].ToString(),
|
||||
Category = item["Category"].ToString(),
|
||||
CategoryLevel = item["CategoryLevel"].ToString(),
|
||||
EntranceDate = Funs.GetNewDateTime(item["EntranceDate"].ToString()),
|
||||
IsOut = item["IsOut"].ToString(),
|
||||
LeaveDate = Funs.GetNewDateTime(item["LeaveDate"].ToString()),
|
||||
IsBlackList = item["IsBlackList"].ToString(),
|
||||
AgreementId = item["AgreementId"].ToString(),
|
||||
HasInsurance = item["HasInsurance"].ToString(),
|
||||
DeviceNumber = item["DeviceNumber"].ToString(),
|
||||
IsActive = item["IsActive"].ToString(),
|
||||
DepartId = item["DepartId"].ToString(),
|
||||
DepartName = item["DepartName"].ToString(),
|
||||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||||
};
|
||||
insertPersons.Add(newPerson);
|
||||
}
|
||||
}
|
||||
|
||||
if (insertPersons.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_Person.InsertAllOnSubmit(insertPersons);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-人员信息同步", ex);
|
||||
}
|
||||
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入信息-单位信息 1
|
||||
/// <summary>
|
||||
/// 插入信息-单位信息 1
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddUnit(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_Unit> insertUnits = new List<Model.Bo_Sheng_Unit>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getUnit = db.Bo_Sheng_Unit.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getUnit == null)
|
||||
{
|
||||
Model.Bo_Sheng_Unit newUnit = new Model.Bo_Sheng_Unit
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId = projectId,
|
||||
ParentID = item["ParentID"].ToString(),
|
||||
DepartCode = item["DepartCode"].ToString(),
|
||||
ParentCode = item["ParentCode"].ToString(),
|
||||
DepartName = item["DepartName"].ToString(),
|
||||
DepartType = item["DepartType"].ToString(),
|
||||
DepartShortName = item["DepartShortName"].ToString(),
|
||||
DepartOrder = item["DepartOrder"].ToString(),
|
||||
State = item["State"].ToString(),
|
||||
DepartSir = item["DepartSir"].ToString(),
|
||||
IsEpiboly = item["IsEpiboly"].ToString(),
|
||||
Phone = item["Phone"].ToString(),
|
||||
Charge = item["Charge"].ToString(),
|
||||
Remark = item["Remark"].ToString(),
|
||||
OwnerDeptID = item["OwnerDeptID"].ToString(),
|
||||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||||
CreateUser = item["CreateUser"].ToString(),
|
||||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||||
OperUser = item["OperUser"].ToString(),
|
||||
};
|
||||
insertUnits.Add(newUnit);
|
||||
}
|
||||
}
|
||||
if (insertUnits.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_Unit.InsertAllOnSubmit(insertUnits);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-单位信息同步", ex);
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入培训记录 2
|
||||
/// <summary>
|
||||
/// 插入培训记录 2
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddTrainRecord(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_Train> insertTrains = new List<Model.Bo_Sheng_Train>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getTrain = db.Bo_Sheng_Train.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getTrain == null)
|
||||
{
|
||||
Model.Bo_Sheng_Train newTrainRecord = new Model.Bo_Sheng_Train
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId =projectId,
|
||||
DeleteUser = item["DeleteUser"].ToString(),
|
||||
DeleteDate =Funs.GetNewDateTime( item["DeleteDate"].ToString()),
|
||||
DeleteTag = item["DeleteTag"].ToString(),
|
||||
RecordName = item["RecordName"].ToString(),
|
||||
TrainType = item["TrainType"].ToString(),
|
||||
PaperMode = item["PaperMode"].ToString(),
|
||||
TrainMode = item["TrainMode"].ToString(),
|
||||
TrainPrincipal = item["TrainPrincipal"].ToString(),
|
||||
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
|
||||
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
|
||||
TrainContent = item["TrainContent"].ToString(),
|
||||
TrainDescript = item["TrainDescript"].ToString(),
|
||||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||||
PersonCount = Funs.GetNewInt(item["PersonCount"].ToString()),
|
||||
PassedCount = Funs.GetNewInt(item["PassedCount"].ToString()),
|
||||
CoverImg = item["CoverImg"].ToString(),
|
||||
DemandID = item["DemandID"].ToString(),
|
||||
CourseCount = Funs.GetNewInt(item["CourseCount"].ToString()),
|
||||
CourseDuration = item["CourseDuration"].ToString(),
|
||||
Source = item["Source"].ToString(),
|
||||
Description = item["Description"].ToString(),
|
||||
DeviceNo = item["DeviceNo"].ToString(),
|
||||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||||
OwnerDeptName = item["OwnerDeptName"].ToString(),
|
||||
TrainDepart = item["TrainDepart"].ToString(),
|
||||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||||
CreateUser = item["CreateUser"].ToString(),
|
||||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||||
OperUser = item["OperUser"].ToString(),
|
||||
};
|
||||
insertTrains.Add(newTrainRecord);
|
||||
}
|
||||
}
|
||||
if (insertTrains.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_Train.InsertAllOnSubmit(insertTrains);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-培训记录同步", ex);
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入培训人员 3
|
||||
/// <summary>
|
||||
/// 插入培训人员 3
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddTrainRecordPerson(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_TrainPerson> insertTrainPersons = new List<Model.Bo_Sheng_TrainPerson>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getTrainPerson = db.Bo_Sheng_TrainPerson.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getTrainPerson == null)
|
||||
{
|
||||
Model.Bo_Sheng_TrainPerson newPerson = new Model.Bo_Sheng_TrainPerson
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId = projectId,
|
||||
DeleteUser = item["DeleteUser"].ToString(),
|
||||
DeleteDate =Funs.GetNewDateTime( item["DeleteDate"].ToString()),
|
||||
DeleteTag = item["DeleteTag"].ToString(),
|
||||
EmpName = item["EmpName"].ToString(),
|
||||
IdentifyId = item["IdentifyId"].ToString(),
|
||||
Photo = item["Photo"].ToString(),
|
||||
Station = item["Station"].ToString(),
|
||||
Category = item["Category"].ToString(),
|
||||
CategoryName = item["CategoryName"].ToString(),
|
||||
RecordId = item["RecordId"].ToString(),
|
||||
SignName = item["SignName"].ToString(),
|
||||
DepartId = item["DepartId"].ToString(),
|
||||
DepartName = item["DepartName"].ToString(),
|
||||
SignInDate = Funs.GetNewDateTime(item["SignInDate"].ToString()),
|
||||
SignInType = item["SignInType"].ToString(),
|
||||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||||
State = item["State"].ToString(),
|
||||
TotalScore =Funs.GetNewDecimal( item["TotalScore"].ToString()),
|
||||
PassScore =Funs.GetNewDecimal( item["PassScore"].ToString()),
|
||||
Score = Funs.GetNewDecimal( item["Score"].ToString()),
|
||||
IsPass = item["IsPass"].ToString(),
|
||||
GroupNo = item["GroupNo"].ToString(),
|
||||
ExamNo = item["ExamNo"].ToString(),
|
||||
ExamCount = Funs.GetNewInt(item["ExamCount"].ToString()),
|
||||
DeviceNo = item["DeviceNo"].ToString(),
|
||||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||||
Answers = item["Answers"].ToString(),
|
||||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||||
CreateUser = item["CreateUser"].ToString(),
|
||||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||||
OperUser = item["OperUser"].ToString(),
|
||||
};
|
||||
insertTrainPersons.Add(newPerson);
|
||||
}
|
||||
}
|
||||
|
||||
if (insertTrainPersons.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_TrainPerson.InsertAllOnSubmit(insertTrainPersons);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-培训人员同步", ex);
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入试卷 4
|
||||
/// <summary>
|
||||
/// 插入试卷 4
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddEduTrain_TrainTest(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_Exam> insertExams = new List<Model.Bo_Sheng_Exam>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getExam = db.Bo_Sheng_Exam.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getExam == null)
|
||||
{
|
||||
Model.Bo_Sheng_Exam newTrainTest = new Model.Bo_Sheng_Exam
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId = projectId,
|
||||
RecordId = item["RecordId"].ToString(),
|
||||
ExamNo = item["ExamNo"].ToString(),
|
||||
GroupNo = item["GroupNo"].ToString(),
|
||||
CourseID = item["CourseID"].ToString(),
|
||||
COrder =Funs.GetNewInt(item["COrder"].ToString()),
|
||||
QsnCode = item["QsnCode"].ToString(),
|
||||
QsnId = item["QsnId"].ToString(),
|
||||
QsnContent = item["QsnContent"].ToString(),
|
||||
QsnFileName = item["QsnFileName"].ToString(),
|
||||
QsnAnswer = item["QsnAnswer"].ToString(),
|
||||
QsnCategory = item["QsnCategory"].ToString(),
|
||||
QsnKind = item["QsnKind"].ToString(),
|
||||
QsnImportant = item["QsnImportant"].ToString(),
|
||||
Description = item["Description"].ToString(),
|
||||
Analysis = item["Analysis"].ToString(),
|
||||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||||
};
|
||||
|
||||
insertExams.Add(newTrainTest);
|
||||
}
|
||||
}
|
||||
|
||||
if (insertExams.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_Exam.InsertAllOnSubmit(insertExams);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-培训试卷同步", ex);
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 插入人员培训记录 5
|
||||
/// <summary>
|
||||
/// 插入人员培训记录 5
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="arr"></param>
|
||||
public static bool AddPersonTrainRecord(string projectId, JArray arr, Model.Sys_User user)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
bool isOk = true;
|
||||
try
|
||||
{
|
||||
List<Model.Bo_Sheng_PersonTrainRecord> insertPersonTrainRecords = new List<Model.Bo_Sheng_PersonTrainRecord>();
|
||||
foreach (var item in arr)
|
||||
{
|
||||
string getID = item["ID"].ToString();
|
||||
var getPersonTrainRecord = db.Bo_Sheng_PersonTrainRecord.FirstOrDefault(x => x.ID == getID);
|
||||
if (!string.IsNullOrEmpty(getID) && getPersonTrainRecord == null)
|
||||
{
|
||||
Model.Bo_Sheng_PersonTrainRecord newRecord = new Model.Bo_Sheng_PersonTrainRecord
|
||||
{
|
||||
ID = getID,
|
||||
ProjectId = projectId,
|
||||
EmpName = item["EmpName"].ToString(),
|
||||
IdentifyId = item["IdentifyId"].ToString(),
|
||||
CategoryName = item["CategoryName"].ToString(),
|
||||
RecordId = item["RecordId"].ToString(),
|
||||
DepartId = item["DepartId"].ToString(),
|
||||
DepartName = item["DepartName"].ToString(),
|
||||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||||
TotalScore = Funs.GetNewDecimal(item["TotalScore"].ToString()),
|
||||
PassScore = Funs.GetNewDecimal(item["PassScore"].ToString()),
|
||||
Score = Funs.GetNewDecimal(item["Score"].ToString()),
|
||||
IsPass = item["IsPass"].ToString(),
|
||||
GroupNo = item["GroupNo"].ToString(),
|
||||
ExamNo = item["ExamNo"].ToString(),
|
||||
ExamCount = item["ExamCount"].ToString(),
|
||||
DeviceNo = item["DeviceNo"].ToString(),
|
||||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||||
Answers = item["Answers"].ToString(),
|
||||
RecordName = item["RecordName"].ToString(),
|
||||
TrainType = item["TrainType"].ToString(),
|
||||
PaperMode = item["PaperMode"].ToString(),
|
||||
TrainMode = item["TrainMode"].ToString(),
|
||||
TrainPrincipal = item["TrainPrincipal"].ToString(),
|
||||
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
|
||||
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
|
||||
TrainContent = item["TrainContent"].ToString(),
|
||||
TrainDescript = item["TrainDescript"].ToString(),
|
||||
};
|
||||
|
||||
insertPersonTrainRecords.Add(newRecord);
|
||||
}
|
||||
}
|
||||
|
||||
if (insertPersonTrainRecords.Count() > 0)
|
||||
{
|
||||
db.Bo_Sheng_PersonTrainRecord.InsertAllOnSubmit(insertPersonTrainRecords);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isOk = false;
|
||||
ErrLogInfo.WriteLog("博晟-人员培训记录同步", ex);
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,500 @@
|
|||
using FineUIPro;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public static class BOSHENGService
|
||||
{
|
||||
public static Model.SGGLDB db = Funs.DB;
|
||||
|
||||
#region 获取单位列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int unitcount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_Unit> getUnits = from x in db.Bo_Sheng_Unit select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getUnitListData(string projectId, string departName, string departCode, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_Unit> getDataList = getUnits.Where(x => x.ProjectId == projectId);
|
||||
|
||||
if (!string.IsNullOrEmpty(departName))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(departCode))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.DepartCode.Contains(departCode));
|
||||
}
|
||||
unitcount = getDataList.Count();
|
||||
if (unitcount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.ParentID,
|
||||
x.DepartCode,
|
||||
x.ParentCode,
|
||||
x.DepartName,
|
||||
x.DepartType,
|
||||
x.DepartShortName,
|
||||
x.DepartOrder,
|
||||
x.State,
|
||||
x.DepartSir,
|
||||
x.IsEpiboly,
|
||||
x.Phone,
|
||||
x.Charge,
|
||||
x.Remark,
|
||||
x.OwnerDeptID,
|
||||
x.CreateDate,
|
||||
x.CreateUser,
|
||||
x.OperDate,
|
||||
x.OperUser,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取人员列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int personcount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_Person> getPersons = from x in db.Bo_Sheng_Person select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getPersonListData(string projectId, string departName, string name, string identifyID, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_Person> getDataList = getPersons.Where(x => x.ProjectId == projectId);
|
||||
if (!string.IsNullOrEmpty(departName))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.Name.Contains(name));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(identifyID))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.IdentifyID == identifyID);
|
||||
}
|
||||
|
||||
personcount = getDataList.Count();
|
||||
if (personcount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList.OrderBy(x => x.DepartName), Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.CreateDate,
|
||||
x.CreateUser,
|
||||
x.OperDate,
|
||||
x.OperUser,
|
||||
x.DeleteUser,
|
||||
x.DeleteDate,
|
||||
x.DeleteTag,
|
||||
x.Name,
|
||||
x.Sex,
|
||||
SexName = x.Sex == "2" ? "女" : "男",
|
||||
x.BirthDay,
|
||||
x.Address,
|
||||
x.Nation,
|
||||
x.IdentifyID,
|
||||
x.Kind,
|
||||
x.Photo,
|
||||
x.Police,
|
||||
x.ValidPeriodStart,
|
||||
x.ValidPeriodEnd,
|
||||
x.Education,
|
||||
x.Native,
|
||||
x.Telephone,
|
||||
x.MaritalStatus,
|
||||
x.BloodGroup,
|
||||
x.RegisteredType,
|
||||
x.Age,
|
||||
x.JobNumber,
|
||||
x.CardContent,
|
||||
x.ContactTel,
|
||||
x.SecondContacts,
|
||||
x.SecondContactsTel,
|
||||
x.NewAddress,
|
||||
x.HealthCondition,
|
||||
x.HealthFile,
|
||||
x.BuildArea,
|
||||
x.TraPrincipal,
|
||||
x.RegisterDate,
|
||||
x.CategoryType,
|
||||
x.Station,
|
||||
x.Category,
|
||||
x.CategoryLevel,
|
||||
x.EntranceDate,
|
||||
x.IsOut,
|
||||
IsOutName = x.IsOut == "1" ? "是" : "否",
|
||||
x.LeaveDate,
|
||||
x.IsBlackList,
|
||||
IsBlackListName =x.IsBlackList == "1" ? "是" : "否",
|
||||
x.AgreementId,
|
||||
x.HasInsurance,
|
||||
x.DeviceNumber,
|
||||
x.IsActive,
|
||||
x.DepartId,
|
||||
x.DepartName,
|
||||
x.OwnerDepartId,
|
||||
x.UploadTime,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取培训记录列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int traincount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_Train> getTrains = from x in db.Bo_Sheng_Train select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getTrainListData(string projectId, string trainType, string recordName, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_Train> getDataList = getTrains.Where(x => x.ProjectId == projectId);
|
||||
if (!string.IsNullOrEmpty(trainType))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.TrainType.Contains(trainType));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(recordName))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.RecordName.Contains(recordName));
|
||||
}
|
||||
|
||||
traincount = getDataList.Count();
|
||||
if (traincount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.DeleteUser,
|
||||
x.DeleteDate,
|
||||
x.DeleteTag,
|
||||
x.RecordName,
|
||||
x.TrainType,
|
||||
x.PaperMode,
|
||||
PaperModeName = x.PaperMode=="0"? "使用原卷" : "重新出卷",
|
||||
x.TrainMode,
|
||||
x.TrainPrincipal,
|
||||
x.TrainStartDate,
|
||||
x.TrainEndDate,
|
||||
x.TrainContent,
|
||||
x.TrainDescript,
|
||||
x.TrainPeriod,
|
||||
x.PersonCount,
|
||||
x.PassedCount,
|
||||
x.CoverImg,
|
||||
x.DemandID,
|
||||
x.CourseCount,
|
||||
x.CourseDuration,
|
||||
x.Source,
|
||||
SourceName = x.Source == "0" ? "项目" : "课程",
|
||||
x.Description,
|
||||
x.DeviceNo,
|
||||
x.OwnerDepartId,
|
||||
x.UploadTime,
|
||||
x.OwnerDeptName,
|
||||
x.TrainDepart,
|
||||
x.CreateDate,
|
||||
x.CreateUser,
|
||||
x.OperDate,
|
||||
x.OperUser,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取培训人员列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int trainPersoncount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_TrainPerson> getTrainPersons = from x in db.Bo_Sheng_TrainPerson select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getTrainPersonListData(string projectId,string departName, string name, string identifyID, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_TrainPerson> getDataList = getTrainPersons.Where(x => x.ProjectId == projectId);
|
||||
if (!string.IsNullOrEmpty(departName))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.EmpName.Contains(name));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(identifyID))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.IdentifyId.Contains(identifyID));
|
||||
}
|
||||
|
||||
trainPersoncount = getDataList.Count();
|
||||
if (trainPersoncount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.DeleteUser,
|
||||
x.DeleteDate,
|
||||
x.DeleteTag,
|
||||
x.EmpName,
|
||||
x.IdentifyId,
|
||||
x.Photo,
|
||||
x.Station,
|
||||
x.Category,
|
||||
x.CategoryName,
|
||||
x.RecordId,
|
||||
x.SignName,
|
||||
x.DepartId,
|
||||
x.DepartName,
|
||||
x.SignInDate,
|
||||
x.SignInType,
|
||||
x.TrainPeriod,
|
||||
x.State,
|
||||
StateName= x.State=="0"? "正常" : "补签",
|
||||
x.TotalScore,
|
||||
x.PassScore,
|
||||
x.Score,
|
||||
x.IsPass,
|
||||
IsPassName = x.IsPass == "0" ? "否" : "是",
|
||||
x.GroupNo,
|
||||
x.ExamNo,
|
||||
x.ExamCount,
|
||||
x.DeviceNo,
|
||||
x.OwnerDepartId,
|
||||
x.UploadTime,
|
||||
x.Answers,
|
||||
x.CreateDate,
|
||||
x.CreateUser,
|
||||
x.OperDate,
|
||||
x.OperUser,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取试卷列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int examcount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_Exam> getExams = from x in db.Bo_Sheng_Exam select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getExamListData(string projectId, string qsnCode,string qsnContent, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_Exam> getDataList = getExams.Where(x => x.ProjectId == projectId);
|
||||
|
||||
if (!string.IsNullOrEmpty(qsnCode))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.QsnCode == qsnCode);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(qsnContent))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.QsnContent.Contains(qsnContent));
|
||||
}
|
||||
|
||||
examcount = getDataList.Count();
|
||||
if (examcount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.RecordId,
|
||||
x.ExamNo,
|
||||
x.GroupNo,
|
||||
x.CourseID,
|
||||
x.COrder,
|
||||
x.QsnCode,
|
||||
x.QsnId,
|
||||
x.QsnContent,
|
||||
x.QsnFileName,
|
||||
x.QsnAnswer,
|
||||
x.QsnCategory,
|
||||
QsnCategoryName= x.QsnCategory=="3"? "图片题" : (x.QsnCategory == "2"? "多媒体题" : "文字题"),
|
||||
x.QsnKind,
|
||||
QsnKindName = x.QsnKind == "3" ? "判断" : (x.QsnCategory == "2" ? "多选" : "单选"),
|
||||
x.QsnImportant,
|
||||
QsnImportantName = x.QsnImportant == "2" ? "困难" : (x.QsnCategory == "1" ? "一般" : "容易"),
|
||||
x.Description,
|
||||
x.Analysis,
|
||||
x.UploadTime,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取人员培训记录列表
|
||||
/// <summary>
|
||||
/// 记录数
|
||||
/// </summary>
|
||||
public static int personTrainRecordcount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定义变量
|
||||
/// </summary>
|
||||
private static IQueryable<Model.Bo_Sheng_PersonTrainRecord> getPersonTrainRecords = from x in db.Bo_Sheng_PersonTrainRecord select x;
|
||||
|
||||
/// <summary>
|
||||
/// 获取分页列表
|
||||
/// </summary>
|
||||
/// <param name="PageIndex">页码</param>
|
||||
/// <param name="PageSize">每页数量</param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable getPersonTrainRecordListData(string projectId, string departName, string name, string identifyID, Grid Grid1)
|
||||
{
|
||||
IQueryable<Model.Bo_Sheng_PersonTrainRecord> getDataList = getPersonTrainRecords.Where(x => x.ProjectId == projectId);
|
||||
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.EmpName.Contains(name));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(departName))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(identifyID))
|
||||
{
|
||||
getDataList = getDataList.Where(x => x.IdentifyId.Contains(identifyID));
|
||||
}
|
||||
|
||||
personTrainRecordcount = getDataList.Count();
|
||||
if (personTrainRecordcount == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
||||
return from x in getDataList
|
||||
select new
|
||||
{
|
||||
x.ID,
|
||||
x.ProjectId,
|
||||
x.EmpName,
|
||||
x.IdentifyId,
|
||||
x.CategoryName,
|
||||
x.RecordId,
|
||||
x.DepartId,
|
||||
x.DepartName,
|
||||
x.TrainPeriod,
|
||||
x.TotalScore,
|
||||
x.PassScore,
|
||||
x.Score,
|
||||
x.IsPass,
|
||||
IsPassName = x.IsPass == "0" ? "否" : "是",
|
||||
x.GroupNo,
|
||||
x.ExamNo,
|
||||
x.ExamCount,
|
||||
x.DeviceNo,
|
||||
x.OwnerDepartId,
|
||||
x.Answers,
|
||||
x.RecordName,
|
||||
x.TrainType,
|
||||
x.PaperMode,
|
||||
PaperModeName = x.PaperMode == "0" ? "使用原卷" : "重新出卷",
|
||||
x.TrainMode,
|
||||
x.TrainPrincipal,
|
||||
x.TrainStartDate,
|
||||
x.TrainEndDate,
|
||||
x.TrainContent,
|
||||
x.TrainDescript,
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoExam.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoExam" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>考试试卷</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="COrder" EnableTextSelection="True"
|
||||
SortDirection="DESC" EnableColumnLines="true" OnSort="Grid1_Sort">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按编码查询" ID="txtQsnCode"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按内容查询" ID="txtQsnContent"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<%-- <f:RenderField Width="120px" ColumnID="ExamNo" DataField="ExamNo"
|
||||
FieldType="String" HeaderText="试卷编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="80px" ColumnID="COrder" DataField="COrder"
|
||||
FieldType="String" HeaderText="排序号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="QsnCode" DataField="QsnCode"
|
||||
FieldType="String" HeaderText="编码" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="QsnId" DataField="QsnId"
|
||||
FieldType="String" HeaderText="题库ID" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="400px" ColumnID="QsnContent" DataField="QsnContent"
|
||||
FieldType="String" HeaderText="试题内容" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="QsnAnswer" DataField="QsnAnswer"
|
||||
FieldType="String" HeaderText="答案" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="QsnCategoryName" DataField="QsnCategoryName"
|
||||
FieldType="String" HeaderText="试题分类" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="QsnKindName" DataField="QsnKindName"
|
||||
FieldType="String" HeaderText="试题类型 " HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="QsnImportantName" DataField="QsnImportantName"
|
||||
FieldType="String" HeaderText="重要程度 " HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="80px" ColumnID="Description" DataField="Description"
|
||||
FieldType="String" HeaderText="说明" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="200px" ColumnID="Analysis" DataField="Analysis"
|
||||
FieldType="String" HeaderText="试题解析" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoExam : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getExamListData(this.CurrUser.LoginProjectId, this.txtQsnCode.Text.Trim(),this.txtQsnContent.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.examcount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoExam {
|
||||
|
||||
/// <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>
|
||||
/// txtQsnCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtQsnCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtQsnContent 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtQsnContent;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoPerson.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoPerson" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>人员信息</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="Name" EnableTextSelection="True"
|
||||
SortDirection="ASC" EnableColumnLines="true" OnSort="Grid1_Sort">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按单位查询" ID="txtDepartName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按姓名查询" ID="txtName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按身份证号码查询" ID="txtIdentifyID"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="200px" ColumnID="DepartName" DataField="DepartName"
|
||||
FieldType="String" HeaderText="所在单位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Name" DataField="Name"
|
||||
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="IdentifyID" DataField="IdentifyID"
|
||||
FieldType="String" HeaderText="身份证号码" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="50px" ColumnID="SexName" DataField="SexName"
|
||||
FieldType="String" HeaderText="性别" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="BirthDay" DataField="BirthDay"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="出生年月"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Station" DataField="Station"
|
||||
FieldType="String" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="250px" ColumnID="Address" DataField="Address"
|
||||
FieldType="String" HeaderText="地址" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Police" DataField="Police"
|
||||
FieldType="String" HeaderText="发证机关" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="ValidPeriodStart" DataField="ValidPeriodStart"
|
||||
FieldType="String" HeaderText="有效期" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="ValidPeriodEnd" DataField="ValidPeriodEnd"
|
||||
FieldType="String" HeaderText="止" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="Telephone" DataField="Telephone"
|
||||
FieldType="String" HeaderText="电话" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="Age" DataField="Age"
|
||||
FieldType="Int" HeaderText="年龄" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="JobNumber" DataField="JobNumber"
|
||||
FieldType="String" HeaderText="工号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="NewAddress" DataField="NewAddress"
|
||||
FieldType="String" HeaderText="现地址" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="RegisterDate" DataField="RegisterDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="登记时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="CategoryLevel" DataField="CategoryLevel"
|
||||
FieldType="String" HeaderText="专业等级" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="EntranceDate" DataField="EntranceDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="入场时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="IsOutName" DataField="IsOutName"
|
||||
FieldType="String" HeaderText="是否离场" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="LeaveDate" DataField="LeaveDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="出场时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="70px" ColumnID="IsBlackListName" DataField="IsBlackListName"
|
||||
FieldType="String" HeaderText="黑名单" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoPerson : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getPersonListData(this.CurrUser.LoginProjectId, this.txtDepartName.Text.Trim(),this.txtName.Text.Trim(), this.txtIdentifyID.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.personcount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoPerson {
|
||||
|
||||
/// <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>
|
||||
/// txtDepartName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtDepartName;
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// txtIdentifyID 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtIdentifyID;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoPersonTrainRecord.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoPersonTrainRecord" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>人员培训记录</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="TrainStartDate" EnableTextSelection="True"
|
||||
SortDirection="DESC" EnableColumnLines="true" OnSort="Grid1_Sort">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按单位查询" ID="txtDepartName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按姓名查询" ID="txtName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按身份证号码查询" ID="txtIdentifyID"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="200px" ColumnID="DepartName" DataField="DepartName"
|
||||
FieldType="String" HeaderText="所在单位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="EmpName" DataField="EmpName"
|
||||
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="IdentifyId" DataField="IdentifyId"
|
||||
FieldType="String" HeaderText="身份证号码" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="CategoryName" DataField="CategoryName"
|
||||
FieldType="String" HeaderText="工种" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TrainPeriod" DataField="TrainPeriod"
|
||||
FieldType="String" HeaderText="培训学时" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TotalScore" DataField="TotalScore"
|
||||
FieldType="String" HeaderText="总分" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="PassScore" DataField="PassScore"
|
||||
FieldType="String" HeaderText="及格分" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="Score" DataField="Score"
|
||||
FieldType="String" HeaderText="成绩" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="60px" ColumnID="IsPassName" DataField="IsPassName"
|
||||
FieldType="String" HeaderText="合格" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="GroupNo" DataField="GroupNo"
|
||||
FieldType="Int" HeaderText="考试批次号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="90px" ColumnID="ExamNo" DataField="ExamNo"
|
||||
FieldType="String" HeaderText="试卷编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="80px" ColumnID="ExamCount" DataField="ExamCount"
|
||||
FieldType="String" HeaderText="考试次数" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="DeviceNo" DataField="DeviceNo"
|
||||
FieldType="String" HeaderText="设备编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="300px" ColumnID="Answers" DataField="Answers"
|
||||
FieldType="String" HeaderText="答案" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="300px" ColumnID="RecordName" DataField="RecordName"
|
||||
FieldType="String" HeaderText="培训记录名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="TrainType" DataField="TrainType"
|
||||
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="PaperModeName" DataField="PaperModeName"
|
||||
FieldType="String" HeaderText="出卷类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TrainMode" DataField="TrainMode"
|
||||
FieldType="String" HeaderText="培训方式" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TrainPrincipal" DataField="TrainPrincipal"
|
||||
FieldType="String" HeaderText="培训负责人" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="TrainStartDate" DataField="TrainStartDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="培训开始时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="TrainEndDate" DataField="TrainEndDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="培训结束时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="300px" ColumnID="TrainContent" DataField="TrainContent"
|
||||
FieldType="String" HeaderText="培训内容" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="TrainDescript" DataField="TrainDescript"
|
||||
FieldType="String" HeaderText="培训详细信息" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoPersonTrainRecord : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getPersonTrainRecordListData(this.CurrUser.LoginProjectId, this.txtDepartName.Text.Trim(),this.txtName.Text.Trim(), this.txtIdentifyID.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.personTrainRecordcount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoPersonTrainRecord {
|
||||
|
||||
/// <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>
|
||||
/// txtDepartName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtDepartName;
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// txtIdentifyID 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtIdentifyID;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoTrain.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoTrain" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>培训记录</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="TrainStartDate" EnableTextSelection="True"
|
||||
SortDirection="DESC" EnableColumnLines="true" OnSort="Grid1_Sort">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按类型查询" ID="txtTrainType"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按名称查询" ID="txtName"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="120px" ColumnID="TrainType" DataField="TrainType"
|
||||
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="RecordName" DataField="RecordName"
|
||||
FieldType="String" HeaderText="名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="PaperModeName" DataField="PaperModeName"
|
||||
FieldType="String" HeaderText="出卷类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TrainMode" DataField="TrainMode"
|
||||
FieldType="String" HeaderText="培训方式" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TrainPrincipal" DataField="TrainPrincipal"
|
||||
FieldType="String" HeaderText="培训负责人" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="TrainStartDate" DataField="TrainStartDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="培训开始时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="TrainEndDate" DataField="TrainEndDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="培训结束时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="250px" ColumnID="TrainContent" DataField="TrainContent"
|
||||
FieldType="String" HeaderText="培训内容" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="350px" ColumnID="TrainDescript" DataField="TrainDescript"
|
||||
FieldType="String" HeaderText="培训详细信息" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TrainPeriod" DataField="TrainPeriod"
|
||||
FieldType="String" HeaderText="培训学时" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="PersonCount" DataField="PersonCount"
|
||||
FieldType="String" HeaderText="人员数量" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="PassedCount" DataField="PassedCount"
|
||||
FieldType="String" HeaderText="合格人数" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="CourseCount" DataField="CourseCount"
|
||||
FieldType="String" HeaderText="课程数量" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="CourseDuration" DataField="CourseDuration"
|
||||
FieldType="Int" HeaderText="课程总时长" HeaderTextAlign="Center" TextAlign="Right">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="SourceName" DataField="SourceName"
|
||||
FieldType="String" HeaderText="来源" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Description" DataField="Description"
|
||||
FieldType="String" HeaderText="说明" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="DeviceNo" DataField="DeviceNo"
|
||||
FieldType="String" HeaderText="工具箱编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="TrainDepart" DataField="TrainDepart"
|
||||
FieldType="String" HeaderText="培训单位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoTrain : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getTrainListData(this.CurrUser.LoginProjectId, this.txtTrainType.Text.Trim(),this.txtName.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.traincount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoTrain {
|
||||
|
||||
/// <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>
|
||||
/// txtTrainType 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTrainType;
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoTrainPerson.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoTrainPerson" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>培训人员</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="UploadTime" EnableTextSelection="True"
|
||||
SortDirection="ASC" EnableColumnLines="true" OnSort="Grid1_Sort">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按单位查询" ID="txtDepartName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按姓名查询" ID="txtName"></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按身份证号码查询" ID="txtIdentifyID"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="200px" ColumnID="DepartName" DataField="DepartName"
|
||||
FieldType="String" HeaderText="所在单位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="EmpName" DataField="EmpName"
|
||||
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="IdentifyId" DataField="IdentifyId"
|
||||
FieldType="String" HeaderText="身份证号码" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Station" DataField="Station"
|
||||
FieldType="String" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="CategoryName" DataField="CategoryName"
|
||||
FieldType="String" HeaderText="工种" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="SignInDate" DataField="SignInDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
|
||||
HeaderText="签到时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TrainPeriod" DataField="TrainPeriod"
|
||||
FieldType="String" HeaderText="培训学时" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="60px" ColumnID="StateName" DataField="StateName"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TotalScore" DataField="TotalScore"
|
||||
FieldType="String" HeaderText="总分" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="PassScore" DataField="PassScore"
|
||||
FieldType="String" HeaderText="及格分" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="Score" DataField="Score"
|
||||
FieldType="String" HeaderText="成绩" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="IsPassName" DataField="IsPassName"
|
||||
FieldType="String" HeaderText="合格" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="GroupNo" DataField="GroupNo"
|
||||
FieldType="Int" HeaderText="考试批次号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="90px" ColumnID="ExamNo" DataField="ExamNo"
|
||||
FieldType="String" HeaderText="试卷编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="80px" ColumnID="ExamCount" DataField="ExamCount"
|
||||
FieldType="String" HeaderText="考试次数" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="DeviceNo" DataField="DeviceNo"
|
||||
FieldType="String" HeaderText="设备编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="300px" ColumnID="Answers" DataField="Answers"
|
||||
FieldType="String" HeaderText="答案" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoTrainPerson : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getTrainPersonListData(this.CurrUser.LoginProjectId, this.txtDepartName.Text.Trim(),this.txtName.Text.Trim(), this.txtIdentifyID.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.trainPersoncount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoTrainPerson {
|
||||
|
||||
/// <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>
|
||||
/// txtDepartName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtDepartName;
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// txtIdentifyID 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtIdentifyID;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoUnit.aspx.cs"
|
||||
Inherits="FineUIPro.Web.BoSheng.BoUnit" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>项目单位</title>
|
||||
<style type="text/css">
|
||||
</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" DataKeyNames="ID" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
DataIDField="ID" AllowSorting="true" SortField="DepartCode" EnableTextSelection="True"
|
||||
SortDirection="ASC" EnableColumnLines="true" OnSort="Grid1_Sort" ForceFit="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" EmptyText="按单位名称查询" id="txtName" ></f:TextBox>
|
||||
<f:TextBox runat="server" EmptyText="按单位编号查询" id="txtCode" ></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
|
||||
</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"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="100px" ColumnID="DepartCode" DataField="DepartCode"
|
||||
FieldType="String" HeaderText="编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="DepartName" DataField="DepartName"
|
||||
FieldType="String" HeaderText="名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="DepartType" DataField="DepartType"
|
||||
FieldType="String" HeaderText="类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="DepartShortName" DataField="DepartShortName"
|
||||
FieldType="String" HeaderText="简称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="60px" ColumnID="DepartSir" DataField="DepartSir"
|
||||
FieldType="String" HeaderText="级别" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="IsEpiboly" DataField="IsEpiboly"
|
||||
FieldType="String" HeaderText="工具箱编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Phone" DataField="Phone"
|
||||
FieldType="String" HeaderText="电话" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="Charge" DataField="Charge"
|
||||
FieldType="String" HeaderText="负责人" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="Remark" DataField="Remark"
|
||||
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="150px" ColumnID="CreateDate" DataField="CreateDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="创建时间"
|
||||
HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>--%>
|
||||
</Columns>
|
||||
<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:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,94 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.BoSheng
|
||||
{
|
||||
public partial class BoUnit : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
this.GridBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据,合并相同行
|
||||
/// </summary>
|
||||
private void GridBind()
|
||||
{
|
||||
var getData = BOSHENGService.getUnitListData(this.CurrUser.LoginProjectId, this.txtName.Text.Trim(), this.txtCode.Text.Trim(), Grid1);
|
||||
Grid1.RecordCount = BOSHENGService.unitcount;
|
||||
Grid1.DataSource = getData;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
#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, Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.GridBind();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页 排序
|
||||
/// <summary>
|
||||
/// 改变索引事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <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);
|
||||
this.GridBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.GridBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.BoSheng {
|
||||
|
||||
|
||||
public partial class BoUnit {
|
||||
|
||||
/// <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>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// txtCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCode;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
|
@ -222,6 +222,12 @@
|
|||
<Content Include="BaseInfo\UnitType.aspx" />
|
||||
<Content Include="BaseInfo\WorkPost.aspx" />
|
||||
<Content Include="BaseInfo\WorkStage.aspx" />
|
||||
<Content Include="BoSheng\BoExam.aspx" />
|
||||
<Content Include="BoSheng\BoPersonTrainRecord.aspx" />
|
||||
<Content Include="BoSheng\BoTrainPerson.aspx" />
|
||||
<Content Include="BoSheng\BoTrain.aspx" />
|
||||
<Content Include="BoSheng\BoPerson.aspx" />
|
||||
<Content Include="BoSheng\BoUnit.aspx" />
|
||||
<Content Include="CLGL\ContractQuantitySheet.aspx" />
|
||||
<Content Include="CLGL\GoodsShelves.aspx" />
|
||||
<Content Include="CLGL\Material.aspx" />
|
||||
|
@ -5927,6 +5933,48 @@
|
|||
<Compile Include="BaseInfo\WorkStage.aspx.designer.cs">
|
||||
<DependentUpon>WorkStage.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoExam.aspx.cs">
|
||||
<DependentUpon>BoExam.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoExam.aspx.designer.cs">
|
||||
<DependentUpon>BoExam.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoPersonTrainRecord.aspx.cs">
|
||||
<DependentUpon>BoPersonTrainRecord.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoPersonTrainRecord.aspx.designer.cs">
|
||||
<DependentUpon>BoPersonTrainRecord.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoTrainPerson.aspx.cs">
|
||||
<DependentUpon>BoTrainPerson.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoTrainPerson.aspx.designer.cs">
|
||||
<DependentUpon>BoTrainPerson.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoTrain.aspx.cs">
|
||||
<DependentUpon>BoTrain.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoTrain.aspx.designer.cs">
|
||||
<DependentUpon>BoTrain.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoPerson.aspx.cs">
|
||||
<DependentUpon>BoPerson.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoPerson.aspx.designer.cs">
|
||||
<DependentUpon>BoPerson.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoUnit.aspx.cs">
|
||||
<DependentUpon>BoUnit.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BoSheng\BoUnit.aspx.designer.cs">
|
||||
<DependentUpon>BoUnit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CLGL\ContractQuantitySheet.aspx.cs">
|
||||
<DependentUpon>ContractQuantitySheet.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
|
|
@ -77,6 +77,16 @@
|
|||
{
|
||||
ErrLogInfo.WriteLog("从集团获取数据定时器!", ex);
|
||||
}
|
||||
|
||||
////从博晟获取培训考试数据定时器
|
||||
try
|
||||
{
|
||||
BLL.BOSHENGMonitorService.StartMonitor();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ErrLogInfo.WriteLog("从博晟获取培训考试数据定时器!", ex);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Session_Start(object sender, EventArgs e)
|
||||
|
|
|
@ -49,8 +49,14 @@
|
|||
<TreeNode id="0EEB138D-84F9-4686-8CBB-CAEAA6CF1B2A" Text="考试记录" NavigateUrl="HSSE/EduTrain/TestRecord.aspx"></TreeNode>
|
||||
<TreeNode id="6FF941C1-8A00-4A74-8111-C892FC30A8DA" Text="考试统计" NavigateUrl="HSSE/EduTrain/TestStatistics.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3" Text="博晟培训考试" NavigateUrl=""><TreeNode id="FCA7A020-9F1B-4E1B-B457-001E05A19774" Text="项目单位" NavigateUrl="BoSheng/BoUnit.aspx"></TreeNode>
|
||||
<TreeNode id="4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1" Text="人员信息" NavigateUrl="BoSheng/BoPerson.aspx"></TreeNode>
|
||||
<TreeNode id="9DF3DA33-E80D-4BF5-882C-842E400F7CAF" Text="培训记录" NavigateUrl="BoSheng/BoTrain.aspx"></TreeNode>
|
||||
<TreeNode id="17666A2C-EE47-42DE-AB8E-E23088BB156D" Text="培训人员" NavigateUrl="BoSheng/BoTrainPerson.aspx"></TreeNode>
|
||||
<TreeNode id="909BBC10-68D4-4C97-9FC3-9C1168D5FBC5" Text="培训试卷" NavigateUrl="BoSheng/BoExam.aspx"></TreeNode>
|
||||
<TreeNode id="C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F" Text="人员培训记录" NavigateUrl="BoSheng/BoPersonTrainRecord.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="467A0CB9-737D-4451-965E-869EBC3A4BD6" Text="HSE检查" NavigateUrl=""><TreeNode id="2FC8AA2A-F421-4174-A05E-2711167AF141" Text="HSE巡检" NavigateUrl="HSSE/HiddenInspection/HiddenRectificationList.aspx"></TreeNode>
|
||||
<TreeNode id="0E30F917-0C51-4C45-BD19-981039CA44F5" Text="日常巡检" NavigateUrl="HSSE/Check/CheckDayWH.aspx"></TreeNode>
|
||||
<TreeNode id="1B08048F-93ED-4E84-AE65-DB7917EA2DFB" Text="专项检查" NavigateUrl="HSSE/Check/CheckSpecial.aspx"></TreeNode>
|
||||
<TreeNode id="C198EBA8-9E23-4654-92E1-09C61105C522" Text="综合检查" NavigateUrl="HSSE/Check/CheckColligation.aspx"></TreeNode>
|
||||
<TreeNode id="9212291A-FBC5-4F6D-A5F6-60BFF4E30F6F" Text="开工前检查" NavigateUrl="HSSE/Check/CheckWork.aspx"></TreeNode>
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Tree>
|
||||
<TreeNode id="858E83E9-ADE5-452E-BD65-82D8DFF872C0" Text="分部、工作项及费用清单设置" NavigateUrl="JDGL/WBS/WBSSetAudit.aspx">
|
||||
</TreeNode>
|
||||
<TreeNode id="E3905BF1-289B-4500-BD34-36F97D649AFC" Text="工作量录入" NavigateUrl="JDGL/WBS/WorkloadInput.aspx"></TreeNode>
|
||||
<TreeNode id="2A3F8526-95C7-4D30-B2DD-DD26696BE150" Text="工作量统计" NavigateUrl="JDGL/WBS/WorkloadStatistics.aspx"></TreeNode>
|
||||
<TreeNode id="59AAE0F0-2DB6-4065-B304-7E2C56EC3E5D" Text="赢得值曲线" NavigateUrl="JDGL/CostAnalysis/EarnedValueCurve.aspx"></TreeNode>
|
||||
<TreeNode id="9CAF311E-C234-4DA4-B235-D4E478FBD80E" Text="里程碑" NavigateUrl="JDGL/WBS/MilePost.aspx"></TreeNode>
|
||||
<TreeNode id="92CBD072-20F8-45B1-9D17-6F7494DD2020" Text="数据导入" NavigateUrl=""><TreeNode id="F3AA42B3-5776-4992-A625-1216C579FEDE" Text="项目进度情况" NavigateUrl="JDGL/Check/ProgressCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="92CBD072-20F8-45B1-9D17-6F7494DD2020" Text="数据导入" NavigateUrl="">
|
||||
<TreeNode id="F3AA42B3-5776-4992-A625-1216C579FEDE" Text="项目进度情况" NavigateUrl="JDGL/Check/ProgressCompletion.aspx">
|
||||
</TreeNode>
|
||||
<TreeNode id="2AE9D982-A499-497F-8F54-ADDA5856887E" Text="工程量完成情况" NavigateUrl="JDGL/Check/QuantityCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="82E513B9-1A6F-495A-A633-EBC89CE5273A" Text="低温储罐完成情况" NavigateUrl="JDGL/Check/LowTankCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="4ACA0647-4D44-462E-8277-1EF9F100566A" Text="钢结构完成情况" NavigateUrl="JDGL/Check/SteelStructureCompletion.aspx"></TreeNode>
|
||||
|
|
5084
SGGL/Model/Model.cs
5084
SGGL/Model/Model.cs
File diff suppressed because it is too large
Load Diff
|
@ -237,15 +237,24 @@ namespace WebAPI.Controllers
|
|||
{
|
||||
if (facerecord != null)
|
||||
{
|
||||
var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == facerecord.ProjectId && x.RoleID == facerecord.RoleID);
|
||||
string projectId = facerecord.ProjectId;
|
||||
string personName = facerecord.EmployName;
|
||||
var getPersonByIdCard = db.SitePerson_Person.Where(x => x.IdentityCard == facerecord.EmployNO).OrderByDescending(x => x.InTime).FirstOrDefault();
|
||||
if (getPersonByIdCard != null)
|
||||
{
|
||||
personName = getPersonByIdCard.PersonName;
|
||||
projectId = getPersonByIdCard.ProjectId;
|
||||
}
|
||||
|
||||
var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == projectId && x.RoleID == facerecord.RoleID);
|
||||
if (getFacerecord == null)
|
||||
{
|
||||
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
ProjectId = facerecord.ProjectId,
|
||||
ProjectId = projectId,
|
||||
ID = facerecord.ID,
|
||||
EmployName = facerecord.EmployName,
|
||||
EmployName =personName,
|
||||
DepartmentID = facerecord.DepartmentID,
|
||||
DepartName = facerecord.DepartName,
|
||||
AreaID = facerecord.AreaID,
|
||||
|
@ -275,7 +284,7 @@ namespace WebAPI.Controllers
|
|||
{
|
||||
isIn = 1;
|
||||
}
|
||||
APIPersonService.getPersonInOut(facerecord.ProjectId, facerecord.EmployNO, isIn, facerecord.DateTimeRecord.Value);
|
||||
APIPersonService.getPersonInOut(projectId, facerecord.EmployNO, isIn, facerecord.DateTimeRecord.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue