博晟培训考试和塔吊

This commit is contained in:
夏菊 2025-12-16 17:12:28 +08:00
parent 8b0b178d88
commit 1cd9b54018
43 changed files with 12988 additions and 1 deletions

View File

@ -0,0 +1,408 @@
--
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = '4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1')
BEGIN
INSERT [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'193BB4A7-B5F2-4A01-8E98-8010D073CA7A', N'4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1', N'修改', 1)
INSERT [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'249C8227-035A-419C-84B7-49BF75B0CC9D', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'增加', 1)
INSERT [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'5B819DF9-9076-4BEF-8404-F6A75D9B9633', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'保存', 4)
INSERT [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'739FEA2A-EDCC-4212-BA6E-52BF16F692EE', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'修改', 2)
INSERT [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'DB9951FE-07B7-406E-9574-9A14C30F267F', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'删除', 3)
END
GO
--
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3')
BEGIN
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'17666A2C-EE47-42DE-AB8E-E23088BB156D', N'培训人员', NULL, N'BoSheng/BoTrainPerson.aspx', 40, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'培训考试(扩展)', NULL, N'', 95, N'0', N'Menu_Person_P', 0, 0, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1', N'人员信息', NULL, N'BoSheng/BoPerson.aspx', 20, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'909BBC10-68D4-4C97-9FC3-9C1168D5FBC5', N'培训试卷', NULL, N'BoSheng/BoExam.aspx', 50, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'9DF3DA33-E80D-4BF5-882C-842E400F7CAF', N'培训记录', NULL, N'BoSheng/BoTrain.aspx', 30, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F', N'人员培训记录', NULL, N'BoSheng/BoPersonTrainRecord.aspx', 60, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'FCA7A020-9F1B-4E1B-B457-001E05A19774', N'项目单位', NULL, N'BoSheng/BoUnit.aspx', 10, N'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3', N'Menu_Person_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'960812BA-ADE3-41C2-AE4A-BF24A58DE4CB', N'塔吊状态', NULL, N'HSSE/TowerCrane/TowerCraneState.aspx', 120, N'688a1471-2d76-4d51-9d2c-6807795beb11', N'Menu_Device_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'塔吊', NULL, N'HSSE/TowerCrane/TowerCrane.aspx', 70, N'688a1471-2d76-4d51-9d2c-6807795beb11', N'Menu_Device_P', 0, 1, 1)
INSERT [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'DE0CA5F1-AE72-4752-A244-D474F3F5F9C8', N'塔吊记录', NULL, N'HSSE/TowerCrane/TowerCraneRecord.aspx', 130, N'688a1471-2d76-4d51-9d2c-6807795beb11', N'Menu_Device_P', 0, 1, 1)
END
GO
---
--Bo_Sheng_Exam
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_Exam') AND type = N'U')
BEGIN
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,
[DeleteTag] [nvarchar](50) 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]
END
GO
--Bo_Sheng_Person
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_Person') AND type = N'U')
BEGIN
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]
END
GO
--Bo_Sheng_PersonTrainRecord
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_PersonTrainRecord') AND type = N'U')
BEGIN
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,
[DeleteTag] [nvarchar](50) 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]
END
GO
--Bo_Sheng_Train
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_Train') AND type = N'U')
BEGIN
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]
END
GO
--Bo_Sheng_TrainPerson
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_TrainPerson') AND type = N'U')
BEGIN
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]
END
GO
--Bo_Sheng_Unit
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Bo_Sheng_Unit') AND type = N'U')
BEGIN
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](200) 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](1000) NULL,
[OwnerDeptID] [nvarchar](50) NULL,
[CreateDate] [datetime] NULL,
[CreateUser] [nvarchar](50) NULL,
[OperDate] [datetime] NULL,
[OperUser] [nvarchar](50) NULL,
[DeleteTag] [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]
END
GO
---
--HSSE_TowerCrane
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'HSSE_TowerCrane') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[HSSE_TowerCrane](
[TowerCraneId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[TowerCraneName] [nvarchar](50) NULL,
[TowerCraneCode] [nvarchar](50) NULL,
[MaxHoist] [float] NULL,
[MaxMoment] [float] NULL,
[FrontArmLength] [float] NULL,
[BackArmLength] [float] NULL,
[TowerCap] [nvarchar](2) NULL,
[ArmHeigh] [float] NULL,
[Remark] [nvarchar](50) NULL,
[CreateDate] [datetime] NULL,
[VideoAccount] [nvarchar](50) NULL,
[VideoPassword] [nvarchar](50) NULL,
CONSTRAINT [PK_HSSE_TowerCrane] PRIMARY KEY CLUSTERED
(
[TowerCraneId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
--HSSE_TowerCraneRecord
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'HSSE_TowerCraneRecord') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[HSSE_TowerCraneRecord](
[TowerCraneRecordId] [nvarchar](50) NOT NULL,
[AlarmType] [nvarchar](50) NULL,
[AmountHoist] [float] NULL,
[Camber] [float] NULL,
[Height] [float] NULL,
[Hoist] [float] NULL,
[Moment] [float] NULL,
[Range] [float] NULL,
[RotationAngle] [float] NULL,
[WindSpeed] [float] NULL,
[Date] [datetime] NULL,
[TowerCraneId] [nvarchar](50) NULL,
[Remark] [nvarchar](50) NULL,
CONSTRAINT [PK_HSSE_TowerCraneRecord] PRIMARY KEY CLUSTERED
(
[TowerCraneRecordId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
--Sys_DataExchange
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Sys_DataExchange') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[Sys_DataExchange](
[DataID] [int] NOT NULL,
[GetTime] [datetime] NULL,
[MessageText] [nvarchar](max) NULL,
[FromSystem] [nvarchar](50) NULL,
[ToSystem] [nvarchar](50) NULL,
[IsUpdate] [bit] NULL,
CONSTRAINT [PK_Sys_DataExchange] PRIMARY KEY CLUSTERED
(
[DataID] 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]
ALTER TABLE [dbo].[Sys_DataExchange] ADD CONSTRAINT [DF_Sys_DataExchange_DataID] DEFAULT ((0)) FOR [DataID]
ALTER TABLE [dbo].[Sys_DataExchange] ADD CONSTRAINT [DF_Sys_DataExchange_IsUpdate] DEFAULT ((0)) FOR [IsUpdate]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'DataID'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'提取时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'GetTime'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'MessageText'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'来源系统' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'FromSystem'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'接收系统' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'ToSystem'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否更新' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange', @level2type=N'COLUMN',@level2name=N'IsUpdate'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据交换表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sys_DataExchange'
END
GO

View File

@ -285,6 +285,8 @@
<Compile Include="BaseInfo\UnitTypeService.cs" />
<Compile Include="BaseInfo\WorkPostService.cs" />
<Compile Include="BaseInfo\WorkStageService.cs" />
<Compile Include="BoSheng\BOSHENGMonitorService.cs" />
<Compile Include="BoSheng\BOSHENGService.cs" />
<Compile Include="Common\AttachFileService.cs" />
<Compile Include="Common\CodeRecordsService.cs" />
<Compile Include="Common\CommonService.cs" />

View File

@ -0,0 +1,735 @@
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 = 30;
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>
public static void AddData(object sender, ElapsedEventArgs e)
{
try
{
var getDataList = (from x in Funs.DB.Sys_DataExchange where x.IsUpdate == false select x).Take(100).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();
string OtherDepartId = obj["OtherDepartId"].ToString();
JArray arr = JArray.Parse(obj["Data"].ToString());
string projectId = string.Empty;
////根据传值项目主键
var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId && x.ProjectCode == OtherDepartId);
if (getProjectByFromProjectId != null)
{
projectId = getProjectByFromProjectId.ProjectId;
}
else
{
var getPByCode = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == OtherDepartId);
if (getPByCode != null)
{
getPByCode.FromProjectId = fromprojectId;
Funs.DB.SubmitChanges();
projectId = getPByCode.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.SUBQHSEDB db = new Model.SUBQHSEDB(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.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_Person> insertPersons = new List<Model.Bo_Sheng_Person>();
//List<Model.SitePerson_Person> insertSitePersons = new List<Model.SitePerson_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))
{
if (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);
}
else
{
getPerson.DeleteUser = item["DeleteUser"].ToString();
getPerson.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
getPerson.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
//var getSitePerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == item["IdentifyID"].ToString());
//if (!string.IsNullOrEmpty(getID))
//{
// if (getSitePerson == null)
// {
// Model.SitePerson_Person newPerson = new Model.SitePerson_Person
// {
// PersonId = SQLHelper.GetNewID(),
// ProjectId = projectId,
// PersonName = item["Name"].ToString(),
// Sex = item["Sex"].ToString(),
// Birthday = Funs.GetNewDateTime(item["BirthDay"].ToString()),
// Address = item["Address"].ToString(),
// Nation = item["Nation"].ToString(),
// IdentityCard = item["IdentifyID"].ToString(),
// UnitId = BLL.UnitService.GetUnitIdByUnitName(item["DepartName"].ToString()),
// Telephone = item["Telephone"].ToString(),
// MaritalStatus = item["MaritalStatus"].ToString(),
// };
// insertSitePersons.Add(newPerson);
// }
//}
if (insertPersons.Count() > 0)
{
db.Bo_Sheng_Person.InsertAllOnSubmit(insertPersons);
db.SubmitChanges();
}
//if (insertSitePersons.Count() > 0)
//{
// db.SitePerson_Person.InsertAllOnSubmit(insertSitePersons);
// 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.SUBQHSEDB db = new Model.SUBQHSEDB(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))
{
if (getUnit == null)
{
Model.Bo_Sheng_Unit newUnit = new Model.Bo_Sheng_Unit
{
ID = getID,
ProjectId = projectId,
DeleteTag = item["DeleteTag"].ToString(),
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);
}
else
{
getUnit.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
}
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.SUBQHSEDB db = new Model.SUBQHSEDB(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))
{
if (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);
}
else
{
getTrain.DeleteUser = item["DeleteUser"].ToString();
getTrain.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
getTrain.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
}
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.SUBQHSEDB db = new Model.SUBQHSEDB(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))
{
if (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);
}
else
{
getTrainPerson.DeleteUser = item["DeleteUser"].ToString();
getTrainPerson.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
getTrainPerson.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
}
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.SUBQHSEDB db = new Model.SUBQHSEDB(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))
{
if (getExam == null)
{
Model.Bo_Sheng_Exam newTrainTest = new Model.Bo_Sheng_Exam
{
ID = getID,
ProjectId = projectId,
DeleteTag = item["DeleteTag"].ToString(),
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);
}
else
{
getExam.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
}
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.SUBQHSEDB db = new Model.SUBQHSEDB(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))
{
if (getPersonTrainRecord == null)
{
Model.Bo_Sheng_PersonTrainRecord newRecord = new Model.Bo_Sheng_PersonTrainRecord
{
ID = getID,
ProjectId = projectId,
DeleteTag = item["DeleteTag"].ToString(),
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);
}
else
{
getPersonTrainRecord.DeleteTag = item["DeleteTag"].ToString();
db.SubmitChanges();
}
}
}
if (insertPersonTrainRecords.Count() > 0)
{
db.Bo_Sheng_PersonTrainRecord.InsertAllOnSubmit(insertPersonTrainRecords);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-人员培训记录同步", ex);
}
return isOk;
}
}
#endregion
}
}

View File

@ -0,0 +1,558 @@
using FineUIPro;
using Model;
using System;
using System.Collections;
using System.Linq;
namespace BLL
{
public static class BOSHENGService
{
public static Model.SUBQHSEDB 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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
where (x.DeleteTag == "False" || x.DeleteTag == null)
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
/// <summary>
/// 根据主键获取博晟人员信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static Model.Bo_Sheng_Person GetBoPersonById(string id)
{
return Funs.DB.Bo_Sheng_Person.FirstOrDefault(e => e.ID == id);
}
/// <summary>
/// 修改博晟人员信息
/// </summary>
/// <param name="person"></param>
/// <returns></returns>
public static void UpdateBoPerson(Bo_Sheng_Person person)
{
Model.Bo_Sheng_Person newPerson = Funs.DB.Bo_Sheng_Person.FirstOrDefault(e => e.ID == person.ID);
if (newPerson != null)
{
newPerson.Name = person.Name;
newPerson.DepartName = person.DepartName;
newPerson.IdentifyID = person.IdentifyID;
newPerson.Sex = person.Sex;
newPerson.BirthDay = person.BirthDay;
newPerson.Station = person.Station;
newPerson.Address = person.Address;
newPerson.Police = person.Police;
newPerson.ValidPeriodStart = person.ValidPeriodStart;
newPerson.ValidPeriodEnd = person.ValidPeriodEnd;
newPerson.Telephone = person.Telephone;
newPerson.JobNumber = person.JobNumber;
newPerson.NewAddress = person.NewAddress;
newPerson.RegisterDate = person.RegisterDate;
newPerson.CategoryLevel = person.CategoryLevel;
newPerson.EntranceDate = person.EntranceDate;
newPerson.LeaveDate = person.LeaveDate;
newPerson.IsOut = person.IsOut;
newPerson.IsBlackList = person.IsBlackList;
newPerson.UploadTime = person.UploadTime;
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -3507,6 +3507,12 @@ namespace BLL
/// </summary>
public const string HSSE_EquipmentQualityImportTemplateUrl = "File\\Excel\\HJGL_DataIn\\特种机具导入模板.xls";
/// <summary>
/// 塔吊
/// </summary>
public const string TowerCraneMenuId = "9DE9B74A-0823-4857-8B50-2DAA5E635EC4";
/// <summary>
/// 材质定义
@ -3515,6 +3521,13 @@ namespace BLL
#endregion
#region
/// <summary>
/// 人员信息
/// </summary>
public const string BoPersonMenuId = "4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1";
#endregion
#region
/// <summary>

View File

@ -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>

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,151 @@
<%@ 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" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick">
<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>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="人员信息" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1024px" Height="620px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="Pencil" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,151 @@
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)
{
GetButtonPower();
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
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.GridBind();
}
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var person = BLL.BOSHENGService.GetBoPersonById(id);
if (person != null)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("BoPersonEdit.aspx?id={0}", id, "编辑 - ")));
}
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.BoPersonMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
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;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
}
}

View File

@ -0,0 +1,96 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoPersonEdit.aspx.cs" Inherits="FineUIPro.Web.BoSheng.BoPersonEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>修改博晟人员信息</title>
</head>
<body>
<form id="form1" runat="server"><f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="博晟人员信息"
AutoScroll="true" BodyPadding="10px" runat="server" RedStarPosition="BeforeText"
LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtName" runat="server" Label="姓名" LabelAlign="Right" Required="true" ShowRedStar="true" Readonly="true"></f:TextBox>
<f:TextBox ID="txtDepartName" runat="server" Label="所在单位" LabelAlign="Right" Required="true" ShowRedStar="true"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtIdentifyID" runat="server" Label="身份证号码" LabelAlign="Right" Required="true" ShowRedStar="true"></f:TextBox>
<f:RadioButtonList ID="rblSex" runat="server" Label="性别" LabelAlign="Right">
<f:RadioItem Value="1" Text="男" Selected="true"/>
<f:RadioItem Value="2" Text="女" />
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtBirthDay" runat="server" Label="出生年月" LabelAlign="Right" ></f:DatePicker>
<f:TextBox ID="txtStation" runat="server" Label="岗位" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtAddress" runat="server" Label="地址" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtPolice" runat="server" Label="发证机关" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtValidPeriodStart" runat="server" Label="有效期" LabelAlign="Right" ></f:DatePicker>
<f:DatePicker ID="txtValidPeriodEnd" runat="server" Label="止" LabelAlign="Right" ></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtTelephone" runat="server" Label="电话" LabelAlign="Right"></f:TextBox>
<f:TextBox ID="txtJobNumber" runat="server" Label="工号" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtNewAddress" runat="server" Label="现地址" LabelAlign="Right"></f:TextBox>
<f:DatePicker ID="txtRegisterDate" runat="server" Label="登记时间" LabelAlign="Right" ShowTime="true" DateFormatString="yyyy-MM-dd HH:mm:ss"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtCategoryLevel" runat="server" Label="专业等级" LabelAlign="Right"></f:TextBox>
<f:DatePicker ID="txtEntranceDate" runat="server" Label="入场时间" LabelAlign="Right" ShowTime="true" DateFormatString="yyyy-MM-dd HH:mm:ss"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:CheckBox ID="cbIsOutName" runat="server" Label="是否离场"></f:CheckBox>
<f:DatePicker ID="txtLeaveDate" runat="server" Label="出场时间" LabelAlign="Right" ShowTime="true" DateFormatString="yyyy-MM-dd HH:mm:ss"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:CheckBox ID="cbIsBlackListName" runat="server" Label="黑名单"></f:CheckBox>
<f:DatePicker ID="txtUploadTime" runat="server" Label="上传时间" LabelAlign="Right" ShowTime="true" DateFormatString="yyyy-MM-dd HH:mm:ss"></f:DatePicker>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,127 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.BoSheng
{
public partial class BoPersonEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.Id = Request.Params["id"];
if (!string.IsNullOrEmpty(this.Id))
{
Model.Bo_Sheng_Person person = BLL.BOSHENGService.GetBoPersonById(this.Id);
if (person != null)
{
this.txtName.Text = person.Name;
this.txtDepartName.Text = person.DepartName;
this.txtIdentifyID.Text = person.IdentifyID;
this.rblSex.SelectedValue = person.Sex;
this.txtBirthDay.Text = person.BirthDay.HasValue ? string.Format("{0:yyyy-MM-dd}", person.BirthDay) : "";
this.txtStation.Text = person.Station;
this.txtAddress.Text = person.Address;
this.txtPolice.Text = person.Police;
this.txtValidPeriodStart.Text = string.Format("{0:yyyy-MM-dd}", person.ValidPeriodStart);
this.txtValidPeriodEnd.Text = string.Format("{0:yyyy-MM-dd}", person.ValidPeriodEnd);
this.txtTelephone.Text = person.Telephone;
this.txtJobNumber.Text = person.JobNumber;
this.txtNewAddress.Text = person.NewAddress;
this.txtRegisterDate.Text = person.RegisterDate.HasValue ? string.Format("{0:yyyy-MM-dd HH:mm:ss}", person.RegisterDate) : "";
this.txtCategoryLevel.Text = person.CategoryLevel;
this.txtEntranceDate.Text = person.EntranceDate.HasValue ? string.Format("{0:yyyy-MM-dd HH:mm:ss}", person.EntranceDate) : "";
this.txtLeaveDate.Text = person.LeaveDate.HasValue ? string.Format("{0:yyyy-MM-dd hh:mm:ss}", person.LeaveDate) : "";
if (person.IsOut == "1")
{
this.cbIsOutName.Checked = true;
}
if (person.IsBlackList == "1")
{
this.cbIsBlackListName.Checked = true;
}
this.txtUploadTime.Text = person.UploadTime.HasValue ? string.Format("{0:yyyy-MM-dd HH:mm:ss}", person.UploadTime) : "";
}
}
}
}
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.Bo_Sheng_Person person = BLL.BOSHENGService.GetBoPersonById(this.Id);
if (person != null)
{
person.ID = this.Id;
person.Name = this.txtName.Text.Trim();
person.DepartName = this.txtDepartName.Text.Trim();
person.IdentifyID = this.txtIdentifyID.Text.Trim();
person.Sex = this.rblSex.SelectedValue;
person.BirthDay = Funs.GetNewDateTime(this.txtBirthDay.Text.Trim());
person.Station = this.txtStation.Text.Trim();
person.Address = this.txtAddress.Text.Trim();
person.Police = this.txtPolice.Text.Trim();
person.ValidPeriodStart =this.txtValidPeriodStart.Text.Trim();
person.ValidPeriodEnd = this.txtValidPeriodEnd.Text.Trim();
person.Telephone = this.txtTelephone.Text.Trim();
person.JobNumber = this.txtJobNumber.Text.Trim();
person.NewAddress = this.txtNewAddress.Text.Trim();
if (!string.IsNullOrEmpty(this.txtRegisterDate.Text))
{
person.RegisterDate = Convert.ToDateTime(this.txtRegisterDate.Text);
}
person.CategoryLevel = this.txtCategoryLevel.Text.Trim();
if (!string.IsNullOrEmpty(this.txtEntranceDate.Text))
{
person.EntranceDate = Convert.ToDateTime(this.txtEntranceDate.Text);
}
if (!string.IsNullOrEmpty(this.txtLeaveDate.Text))
{
person.LeaveDate = Convert.ToDateTime(this.txtLeaveDate.Text);
}
person.IsOut = this.cbIsOutName.Checked? "1" : "0";
person.IsBlackList = this.cbIsBlackListName.Checked ? "1" : "0";
if (!string.IsNullOrEmpty(this.txtUploadTime.Text))
{
person.UploadTime = Convert.ToDateTime(this.txtUploadTime.Text);
}
BLL.BOSHENGService.UpdateBoPerson(person);
ShowNotify("修改成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
}

View File

@ -0,0 +1,258 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.BoSheng {
public partial class BoPersonEdit {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// txtDepartName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtDepartName;
/// <summary>
/// txtIdentifyID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIdentifyID;
/// <summary>
/// rblSex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblSex;
/// <summary>
/// txtBirthDay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtBirthDay;
/// <summary>
/// txtStation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtStation;
/// <summary>
/// txtAddress 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAddress;
/// <summary>
/// txtPolice 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPolice;
/// <summary>
/// txtValidPeriodStart 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtValidPeriodStart;
/// <summary>
/// txtValidPeriodEnd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtValidPeriodEnd;
/// <summary>
/// txtTelephone 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTelephone;
/// <summary>
/// txtJobNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtJobNumber;
/// <summary>
/// txtNewAddress 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtNewAddress;
/// <summary>
/// txtRegisterDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRegisterDate;
/// <summary>
/// txtCategoryLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCategoryLevel;
/// <summary>
/// txtEntranceDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEntranceDate;
/// <summary>
/// cbIsOutName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbIsOutName;
/// <summary>
/// txtLeaveDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtLeaveDate;
/// <summary>
/// cbIsBlackListName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbIsBlackListName;
/// <summary>
/// txtUploadTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtUploadTime;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
}
}

View File

@ -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>

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,120 @@
<%@ 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>
<f:Button ID="btnRefresh" runat="server" Icon="ArrowRefresh" ToolTip="同步" OnClick="btnRefresh_Click">
</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>

View File

@ -0,0 +1,106 @@
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
#region
/// <summary>
/// 同步培训记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRefresh_Click(object sender, EventArgs e)
{
BOSHENGMonitorService.AddData(null, null);
}
#endregion
}
}

View File

@ -0,0 +1,141 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
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>
/// btnRefresh 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnRefresh;
/// <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;
}
}

View File

@ -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>

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -300,6 +300,13 @@
<Content Include="BaseInfo\WorkPost.aspx" />
<Content Include="BaseInfo\WorkStage.aspx" />
<Content Include="bin\Microsoft.QualityTools.Testing.Fakes.dll" />
<Content Include="BoSheng\BoExam.aspx" />
<Content Include="BoSheng\BoPerson.aspx" />
<Content Include="BoSheng\BoPersonEdit.aspx" />
<Content Include="BoSheng\BoPersonTrainRecord.aspx" />
<Content Include="BoSheng\BoTrain.aspx" />
<Content Include="BoSheng\BoTrainPerson.aspx" />
<Content Include="BoSheng\BoUnit.aspx" />
<Content Include="common\main.aspx" />
<Content Include="common\main1.aspx" />
<Content Include="common\main2024.aspx" />
@ -1126,12 +1133,18 @@
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocolEdit.aspx" />
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocol.aspx" />
<Content Include="HSSE\SitePerson\ProjectWorkPersonStatistic.aspx" />
<Content Include="HSSE\TowerCrane\TowerCrane.aspx" />
<Content Include="HSSE\TowerCrane\TowerCraneEdit.aspx" />
<Content Include="HSSE\TowerCrane\TowerCraneRecord.aspx" />
<Content Include="HSSE\TowerCrane\TowerCraneState.aspx" />
<Content Include="indexold.aspx" />
<Content Include="indexProjectOld.aspx" />
<Content Include="ProjectData\LocationSelect.aspx" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666775877584960_微信图片_20241106163356.png" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666786935571590_微信图片_20241106163356.png" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666869899670730_微信图片_20241106163356.png" />
<Content Include="res\css\commontower.css" />
<Content Include="res\css\indextower.css" />
<Content Include="res\font\iconfont.css" />
<Content Include="res\font\iconfont.js" />
<Content Include="res\homecss\common.css" />
@ -6974,6 +6987,55 @@
<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\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\BoPersonEdit.aspx.cs">
<DependentUpon>BoPersonEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoPersonEdit.aspx.designer.cs">
<DependentUpon>BoPersonEdit.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\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\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\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="common\main.aspx.cs">
<DependentUpon>main.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -12390,6 +12452,34 @@
<Compile Include="HSSE\SitePerson\ProjectWorkPersonStatistic.aspx.designer.cs">
<DependentUpon>ProjectWorkPersonStatistic.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCrane.aspx.cs">
<DependentUpon>TowerCrane.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCrane.aspx.designer.cs">
<DependentUpon>TowerCrane.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneEdit.aspx.cs">
<DependentUpon>TowerCraneEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneEdit.aspx.designer.cs">
<DependentUpon>TowerCraneEdit.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneRecord.aspx.cs">
<DependentUpon>TowerCraneRecord.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneRecord.aspx.designer.cs">
<DependentUpon>TowerCraneRecord.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneState.aspx.cs">
<DependentUpon>TowerCraneState.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\TowerCrane\TowerCraneState.aspx.designer.cs">
<DependentUpon>TowerCraneState.aspx</DependentUpon>
</Compile>
<Compile Include="indexold.aspx.cs">
<DependentUpon>indexold.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -0,0 +1,142 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCrane.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCrane" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>塔吊</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner
{
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="塔吊" EnableCollapse="true"
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="TowerCraneId"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="TowerCraneId" AllowSorting="true"
SortField="CreateDate" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="名称" ID="txtName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="250px" LabelWidth="80px"
LabelAlign="right">
</f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="220px" ColumnID="TowerCraneName" DataField="TowerCraneName"
SortField="TowerCraneName" FieldType="String" HeaderText="名称"
HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="350px" ColumnID="TowerCraneCode" DataField="TowerCraneCode"
SortField="TowerCraneCode" FieldType="String" HeaderText="编码" HeaderTextAlign="Center"
TextAlign="Left" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="MaxHoist" DataField="MaxHoist"
SortField="MaxHoist" FieldType="Float" HeaderText="最大吊重" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="FrontArmLength" DataField="FrontArmLength"
SortField="FrontArmLength" FieldType="Float" HeaderText="前臂长度" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BackArmLength" DataField="BackArmLength"
SortField="BackArmLength" FieldType="Float" HeaderText="后边长度" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TowerCap" DataField="TowerCap"
SortField="TowerCap" FieldType="String" HeaderText="塔帽" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ArmHeigh" DataField="ArmHeigh"
SortField="ArmHeigh" FieldType="Float" HeaderText="臂高" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="190px" ColumnID="CreateDate" DataField="CreateDate"
SortField="CreateDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="添加日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="摘要" HeaderTextAlign="Center" ExpandUnusedSpace="true"
TextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="塔吊" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="1024px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,235 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using BLL;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCrane : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
////权限按钮方法
this.GetButtonPower();
this.btnNew.OnClientClick = Window1.GetShowReference("TowerCraneEdit.aspx") + "return false;";
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT * from HSSE_TowerCrane WHERE ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
if (!string.IsNullOrEmpty(txtName.Text))
{
if (!string.IsNullOrEmpty(txtName.Text))
{
strSql += " and Name like '%"+ txtName.Text + "%' ";
}
}
strSql += " order by CreateDate desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var meeting = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == id);
if (meeting != null)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TowerCraneEdit.aspx?TowerCraneId={0}", id, "编辑 - ")));
}
}
#endregion
#region
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x=>x.TowerCraneId== rowID);
if (towerCrane != null)
{
Funs.DB.HSSE_TowerCrane.DeleteOnSubmit(towerCrane);
BLL.LogService.AddSys_Log(this.CurrUser, towerCrane.TowerCraneCode, towerCrane.TowerCraneId, BLL.Const.TowerCraneMenuId, BLL.Const.BtnDelete);
Funs.DB.SubmitChanges();
}
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectContactListMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
}
}

View File

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

View File

@ -0,0 +1,81 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCraneEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCraneEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>编辑安全隐患类型</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtTowerCraneCode" runat="server" Label="编号" Required="true" ShowRedStar="true" LabelWidth="120px"
MaxLength="50" FocusOnPageLoad="true">
</f:TextBox>
<f:TextBox ID="txtTowerCraneName" runat="server" Label="名称" Required="true" ShowRedStar="true" LabelWidth="120px"
MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtVideoAccount" runat="server" Label="视频账号" Required="true" ShowRedStar="true" LabelWidth="120px"
MaxLength="50" FocusOnPageLoad="true">
</f:TextBox>
<f:TextBox ID="txtVideoPassword" runat="server" Label="视频密码" Required="true" ShowRedStar="true" LabelWidth="120px"
MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="txtMaxHoist" runat="server" Label="最大吊重量(kg)" NoNegative="true" Increment="2" LabelWidth="120px">
</f:NumberBox>
<f:NumberBox ID="txtMaxMoment" runat="server" Label="最大扭矩" NoNegative="true" Increment="2" LabelWidth="120px">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="txtFrontArmLength" runat="server" Label="前臂长" NoNegative="true" Increment="2" LabelWidth="120px">
</f:NumberBox>
<f:NumberBox ID="txtBackArmLength" runat="server" Label="后臂长" NoNegative="true" Increment="2" LabelWidth="120px">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:CheckBox ID="isTowerCap" runat="server" Label="塔帽" LabelWidth="120px">
</f:CheckBox>
<f:NumberBox ID="txtArmHeigh" runat="server" Label="臂高" NoNegative="true" Increment="2" LabelWidth="120px">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" MaxLength="3000" Label="备注" LabelWidth="120px">
</f:TextArea>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
Hidden="true" OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,171 @@
using BLL;
using System;
using System.Linq;
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string TowerCraneId
{
get
{
return (string)ViewState["TowerCraneId"];
}
set
{
ViewState["TowerCraneId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
////权限按钮方法
this.GetButtonPower();
this.TowerCraneId = Request.Params["TowerCraneId"];
if (!string.IsNullOrEmpty(this.TowerCraneId))
{
Model.HSSE_TowerCrane rectify = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x=>x.TowerCraneId==this.TowerCraneId);
if (rectify != null)
{
this.txtTowerCraneName.Text = rectify.TowerCraneName;
this.txtTowerCraneCode.Text = rectify.TowerCraneCode;
this.txtVideoAccount.Text = rectify.VideoAccount;
this.txtVideoPassword.Text = rectify.VideoPassword;
if (rectify.MaxHoist.HasValue)
{
this.txtMaxHoist.Text = rectify.MaxHoist.Value.ToString("#.##");
}
if (rectify.MaxMoment.HasValue)
{
this.txtMaxMoment.Text = rectify.MaxMoment.Value.ToString("#.##");
}
if (rectify.FrontArmLength.HasValue)
{
this.txtFrontArmLength.Text = rectify.FrontArmLength.Value.ToString("#.##");
}
if (rectify.BackArmLength.HasValue)
{
this.txtBackArmLength.Text = rectify.BackArmLength.Value.ToString("#.##");
}
if (rectify.ArmHeigh.HasValue)
{
this.txtArmHeigh.Text = rectify.ArmHeigh.Value.ToString("#.##");
}
if (rectify.MaxMoment.HasValue)
{
this.txtMaxMoment.Text = rectify.MaxMoment.Value.ToString("#.##");
}
if (rectify.TowerCap=="是")
{
this.isTowerCap.Checked = true;
}
else
{
this.isTowerCap.Checked = false;
}
this.txtRemark.Text = rectify.Remark;
}
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.HSSE_TowerCrane towerCrane = null;
if (!string.IsNullOrEmpty(TowerCraneId))
{
towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == this.TowerCraneId);
}
else
{
towerCrane = new Model.HSSE_TowerCrane();
towerCrane.TowerCraneId = SQLHelper.GetNewID(typeof(Model.HSSE_TowerCrane));
towerCrane.ProjectId = CurrUser.LoginProjectId;
towerCrane.CreateDate = DateTime.Now;
Funs.DB.HSSE_TowerCrane.InsertOnSubmit(towerCrane);
}
towerCrane.TowerCraneCode = this.txtTowerCraneCode.Text.Trim();
towerCrane.TowerCraneName = this.txtTowerCraneName.Text.Trim();
towerCrane.VideoAccount = this.txtVideoAccount.Text.Trim();
towerCrane.VideoPassword = this.txtVideoPassword.Text.Trim();
if (!string.IsNullOrEmpty(this.txtMaxHoist.Text))
{
towerCrane.MaxHoist = double.Parse(this.txtMaxHoist.Text);
}
if (!string.IsNullOrEmpty(this.txtMaxMoment.Text))
{
towerCrane.MaxMoment = double.Parse(this.txtMaxMoment.Text);
}
if (!string.IsNullOrEmpty(this.txtFrontArmLength.Text))
{
towerCrane.FrontArmLength = double.Parse(this.txtFrontArmLength.Text);
}
if (!string.IsNullOrEmpty(this.txtBackArmLength.Text))
{
towerCrane.BackArmLength = double.Parse(this.txtBackArmLength.Text);
}
if (!string.IsNullOrEmpty(this.txtArmHeigh.Text))
{
towerCrane.ArmHeigh = double.Parse(this.txtArmHeigh.Text);
}
if (isTowerCap.Checked)
{
towerCrane.TowerCap = "是";
}
else
{
towerCrane.TowerCap = "否";
}
towerCrane.Remark = this.txtRemark.Text.Trim();
Funs.DB.SubmitChanges();
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TowerCraneMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}

View File

@ -0,0 +1,161 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtTowerCraneCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTowerCraneCode;
/// <summary>
/// txtTowerCraneName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTowerCraneName;
/// <summary>
/// txtVideoAccount 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtVideoAccount;
/// <summary>
/// txtVideoPassword 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtVideoPassword;
/// <summary>
/// txtMaxHoist 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtMaxHoist;
/// <summary>
/// txtMaxMoment 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtMaxMoment;
/// <summary>
/// txtFrontArmLength 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtFrontArmLength;
/// <summary>
/// txtBackArmLength 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtBackArmLength;
/// <summary>
/// isTowerCap 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox isTowerCap;
/// <summary>
/// txtArmHeigh 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtArmHeigh;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}

View File

@ -0,0 +1,147 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCraneRecord.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCraneRecord" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>塔吊</title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel2" runat="server" />
<f:Panel ID="Panel2" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="塔吊状态" ShowBorder="true" Layout="HBox"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtIsono" runat="server" Label="塔吊" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="Tree_TextChanged" Width="250px" LabelWidth="70px" LabelAlign="Right">
</f:TextBox>
<f:HiddenField ID="hfTowerCraneId" ClientIDMode="Static" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="500px" Title="塔吊状态" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true"
AutoLeafIdentification="true" EnableSingleExpand="true" EnableTextSelection="true" >
</f:Tree>
</Items>
</f:Panel>
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="塔吊" EnableCollapse="true"
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="TowerCraneRecordId"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="TowerCraneRecordId" AllowSorting="true"
SortField="Date" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:CheckBox ID="ckIsWarnOnly" MarginLeft="40px" runat="server" Text="仅显示预警报警" LabelWidth="200px" Checked="true">
</f:CheckBox>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="开始日期" ID="txtStartTime"
LabelAlign="right" >
</f:DatePicker>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="结束日期" ID="txtEndTime"
LabelAlign="right" >
</f:DatePicker>
<f:Button ID="btnQuery" OnClick="btnQuery_Click" ToolTip="查询" Icon="SystemSearch" EnablePostBack="true" runat="server" >
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="220px" ColumnID="AlarmType" DataField="AlarmType"
SortField="AlarmType" FieldType="String" HeaderText="报警数据"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="AmountHoist" DataField="AmountHoist"
SortField="AmountHoist" FieldType="Float" HeaderText="额度吊重" HeaderTextAlign="Center"
TextAlign="Left" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Camber" DataField="Camber"
SortField="Camber" FieldType="Float" HeaderText="前倾角" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Height" DataField="Height"
SortField="Height" FieldType="Float" HeaderText="高度" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Hoist" DataField="Hoist"
SortField="Hoist" FieldType="Float" HeaderText="吊重" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Moment" DataField="Moment"
SortField="Moment" FieldType="String" HeaderText="力矩" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Range" DataField="Range"
SortField="Range" FieldType="Float" HeaderText="幅度" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RotationAngle" DataField="RotationAngle"
SortField="RotationAngle" FieldType="Float" HeaderText="回转角度" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="WindSpeed" DataField="WindSpeed"
SortField="WindSpeed" FieldType="Float" HeaderText="风速" HeaderTextAlign="Center"
TextAlign="Center" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Date" DataField="Date"
SortField="Date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm"
HeaderText="时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" HeaderTextAlign="Center" ExpandUnusedSpace="true"
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:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,229 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using BLL;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneRecord : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.InitTreeMenu();//加载树
}
}
#region --
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
////塔吊
var towerCranes = (from x in Funs.DB.HSSE_TowerCrane
where x.ProjectId == this.CurrUser.LoginProjectId
&& (string.IsNullOrEmpty(txtIsono.Text) || x.TowerCraneName.Contains(txtIsono.Text))
orderby x.CreateDate
select x).ToList();
foreach (var item in towerCranes)
{
TreeNode rootNode = new TreeNode();
rootNode.Text = item.TowerCraneName;
rootNode.NodeID = item.TowerCraneId;
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
}
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
/// <summary>
/// 树展开事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string TowerCraneId = this.tvControlItem.SelectedNodeID;
if (!string.IsNullOrEmpty(TowerCraneId))
{
string strSql = @"SELECT * from HSSE_TowerCraneRecord WHERE ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " TowerCraneId = @TowerCraneId";
listStr.Add(new SqlParameter("@TowerCraneId", TowerCraneId));
if (ckIsWarnOnly.Checked)
{
strSql += " and AlarmType is not null ";
}
if (!string.IsNullOrEmpty(txtStartTime.Text))
{
strSql += " and Date >='"+ txtStartTime.Text + "' ";
}
if (!string.IsNullOrEmpty(txtEndTime.Text))
{
strSql += " and Date <='" + txtEndTime.Text + "' ";
}
strSql += " order by Date desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
if (table != null && table.Rows.Count > 0)
{
Dictionary<string, string> alarmMap = new Dictionary<string, string>();
alarmMap.Add("111", "重量预警");
alarmMap.Add("112", "重量报警");
alarmMap.Add("121", "风速预警");
alarmMap.Add("122", "风速报警");
alarmMap.Add("131", "内限位报警");
alarmMap.Add("132", "内限位预警");
alarmMap.Add("133", "外限位预警");
alarmMap.Add("134", "外限位报警");
alarmMap.Add("141", "倾角预警");
alarmMap.Add("142", "倾角报警");
alarmMap.Add("151", "上限位预警");
alarmMap.Add("152", "上限位报警");
alarmMap.Add("201", "障碍物碰撞报警");
alarmMap.Add("202", "塔机群碰撞报警");
foreach (DataRow row in table.Rows)
{
string AlarmType = row["AlarmType"].ToString();
if (!string.IsNullOrEmpty(AlarmType))
{
var alarms = AlarmType.Replace("[", "").Replace("]", "").Split(',');
string res = "";
foreach (string alarm in alarms)
{
if (alarmMap.ContainsKey(alarm))
{
res += alarmMap[alarm] + ",";
}
}
row["AlarmType"] = res.TrimEnd(',');
}
}
}
Grid1.DataSource = table;
Grid1.DataBind();
}
else
{
Grid1.DataSource = null;
Grid1.DataBind();
}
}
#region
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
}
}

View File

@ -0,0 +1,197 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneRecord
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtIsono 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIsono;
/// <summary>
/// hfTowerCraneId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hfTowerCraneId;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <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>
/// ckIsWarnOnly 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox ckIsWarnOnly;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -0,0 +1,517 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCraneState.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCraneState" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>塔吊状态</title>
<script src="../../res/lib/flex.js"></script>
<link rel="stylesheet" href="../../res/css/commontower.css" />
<link rel="stylesheet" href="../../res/css/indextower.css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="塔吊状态" ShowBorder="true" Layout="VBox"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtIsono" runat="server" Label="塔吊" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="Tree_TextChanged" Width="250px" LabelWidth="70px" LabelAlign="Right">
</f:TextBox>
<f:HiddenField ID="hfTowerCraneId" ClientIDMode="Static"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="500px" Title="塔吊状态" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true"
AutoLeafIdentification="true" EnableSingleExpand="true" EnableTextSelection="true" >
</f:Tree>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="塔吊状态"
TitleToolTip="塔吊状态" AutoScroll="true">
<Items>
<f:ContentPanel ID="ContentPanel1" CssClass="bodyregion" ShowBorder="false" ShowHeader="false" runat="server">
<div class="y_wrap">
<div class="y_l_site">
<div class="y_box">
<div class="tit">
<div class="y_c_icon"><span></span></div>
<p>设备报警</p>
</div>
<div class="y_box_main" id="sbbj">
<div>
<div>当日预警</div>
<div><span class="c_5b97f9" id="DailyWarning">0</span><span>次</span></div>
</div>
<div>
<div>当日报警</div>
<div><span class="c_ff5353" id="DailyAlarm">0</span><span>次</span></div>
</div>
</div>
</div>
<div class="y_box">
<div class="tit">
<div class="y_c_icon"><span></span></div>
<p>预警趋势</p>
</div>
<div class="y_box_main" style="height:4rem;width:7rem" id="BJQS"></div>
</div>
<div class="y_box">
<div class="tit">
<div class="y_c_icon"><span></span></div>
<p>设备信息</p>
</div>
<div class="y_box_main" id="sbxx">
<div class="y_row">
<div class="y_span">
<div class="y_span_lab"><span></span><span>设备名称</span></div>
<div class="y_span_val" id="divTowerCraneName" ></div>
</div>
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #92b8f5"></span
><span>设备编号</span>
</div>
<div class="y_span_val" id="divTowerCraneCode" ></div>
</div>
</div>
<div class="y_row">
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #a8eeff"></span
><span>最大吊重</span>
</div>
<div class="y_span_val" id="divMaxHoist" >T</div>
</div>
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #4efac6"></span
><span>最大力矩</span>
</div>
<div class="y_span_val" id="divMaxMoment" runat="server">T-M</div>
</div>
</div>
<div class="y_row">
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #a9f841"></span
><span>前臂长</span>
</div>
<div class="y_span_val" id="divFrontArmLength" runat="server">米</div>
</div>
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #e5fa29"></span
><span>后臂长</span>
</div>
<div class="y_span_val" id="divBackArmLength" runat="server">米</div>
</div>
</div>
<div class="y_row">
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #f8c63e"></span
><span>塔帽高</span>
</div>
<div class="y_span_val" id="divTowerCap" runat="server" > </div>
</div>
<div class="y_span">
<div class="y_span_lab">
<span style="background-color: #f1540b"></span
><span>塔臂高</span>
</div>
<div class="y_span_val" id="divArmHeigh" runat="server" >米</div>
</div>
</div>
</div>
</div>
</div>
<div class="y_r_site">
<div class="y_r_site_sub">
<div id="tdzt">
<div></div>
<p>设备编号</p>
</div>
<div id="sp">
<live-player id="player01" live="true" aspect="16:9"></live-player>
</div>
</div>
<div id="zt">
<div>
<span></span>
<span id="Hoist">0T</span>
<span>吊重</span>
</div>
<div>
<span></span>
<span id="Range">0M</span>
<span>幅度</span>
</div>
<div>
<span></span>
<span id="Camber">0度</span>
<span>倾度</span>
</div>
<div>
<span></span>
<span id="WindSpeed">0.00M-T</span>
<span>风速</span>
</div>
<div>
<span></span>
<span id="Moment">0T</span>
<span>力矩</span>
</div>
<div>
<span></span>
<span id="Height">0M</span>
<span>高度</span>
</div>
</div>
<div class="y_r_site_sub1">
<div class="y_box">
<div class="tit">
<div class="y_c_icon"><span></span></div>
<p>实时力矩</p>
</div>
<div class="y_box_main" style="height:3.5rem;width:6rem" id="SSLJ"></div>
</div>
<div class="y_box">
<div class="tit">
<div class="y_c_icon" ><span></span></div>
<p>实时吊重</p>
</div>
<div class="y_box_main" style="height:3.5rem;width:6rem" id="SSDZ"></div>
</div>
</div>
</div>
</div>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
<script src="../../res/liveplayer/liveplayer-element.min.js"></script>
<script type="text/javascript" src="../../res/lib/echarts.min.js"></script>
<script type="text/javascript">
// 报警趋势
function createBJQSMap(data,dataX) {
// 初始化ECharts实例
const trendChart = echarts.init(document.getElementById("BJQS"));
// 配置项
const option = {
title: {
text: "预警数量",
textStyle: {
color: "#000", // 标题颜色
fontSize: 14,
},
top: "0%", // 顶部对齐
right: "-3%", // 右侧偏移位置
textAlign: "right", // 文本右对齐
},
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
},
grid: {
left: "3%",
right: "4%",
bottom: "6%",
containLabel: true,
},
xAxis: {
type: "category",
data: dataX,
axisLine: {
lineStyle: {
color: "#5b97f9", // 坐标轴颜色
},
},
axisLabel: {
color: "#c9c9c9", // 坐标轴标签颜色
},
},
yAxis: {
type: "value",
axisLine: {
lineStyle: {
color: "#5b97f9",
},
},
axisLabel: {
color: "#c9c9c9",
},
splitLine: {
lineStyle: {
color: "rgba(91, 151, 249, 0.2)", // 网格线颜色
},
},
},
series: [
{
name: "报警次数",
type: "line",
smooth: true,
symbol: "none",
data: data,
lineStyle: {
color: "#b828fc", // 报警线颜色
},
itemStyle: {
color: "#b828fc",
},
},
],
};
// 应用配置
trendChart.setOption(option);
// 响应式调整
window.addEventListener("resize", function () {
trendChart.resize();
});
}
function createSSLJMap(data,dataX) {
// 初始化ECharts实例
const trendChart = echarts.init(document.getElementById("SSLJ"));
// 配置项
const option = {
grid: {
left: "3%",
right: "4%",
bottom: "6%",
containLabel: true,
},
xAxis: {
type: "category",
data: dataX,
axisLine: {
lineStyle: {
color: "#5b97f9", // 坐标轴颜色
},
},
axisLabel: {
color: "#c9c9c9", // 坐标轴标签颜色
},
},
yAxis: {
type: "value",
axisLine: {
lineStyle: {
color: "#5b97f9",
},
},
axisLabel: {
color: "#c9c9c9",
},
splitLine: {
lineStyle: {
color: "rgba(91, 151, 249, 0.2)", // 网格线颜色
},
},
},
series: [
{
name: "实时力矩",
type: "line",
smooth: true,
symbol: "none",
data: data,
lineStyle: {
color: "#599df7", // 报警线颜色
},
itemStyle: {
color: "#599df7",
},
},
],
};
// 应用配置
trendChart.setOption(option);
// 响应式调整
window.addEventListener("resize", function () {
trendChart.resize();
});
}
function createSSDZMap(data, datax) {
debugger
// 初始化ECharts实例
const trendChart = echarts.init(document.getElementById("SSDZ"));
// 配置项
const option = {
grid: {
left: "3%",
right: "4%",
bottom: "6%",
containLabel: true,
},
xAxis: {
type: "category",
data: datax,
axisLine: {
lineStyle: {
color: "#5b97f9", // 坐标轴颜色
},
},
axisLabel: {
color: "#c9c9c9", // 坐标轴标签颜色
},
},
yAxis: {
type: "value",
axisLine: {
lineStyle: {
color: "#5b97f9",
},
},
axisLabel: {
color: "#c9c9c9",
},
splitLine: {
lineStyle: {
color: "rgba(91, 151, 249, 0.2)", // 网格线颜色
},
},
},
series: [
{
name: "吊重",
type: "line",
smooth: true,
symbol: "none",
data: data,
lineStyle: {
color: "#599df7", // 报警线颜色
},
itemStyle: {
color: "#599df7",
},
},
],
};
// 应用配置
trendChart.setOption(option);
// 响应式调整
window.addEventListener("resize", function () {
trendChart.resize();
});
}
var currentTowerCraneId = "";
function runGetData() {
var TowerCraneId = $("#hfTowerCraneId-inputEl").val();
if (TowerCraneId != undefined) {
$.ajax({
url: "TowerCraneState.aspx/GetData",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({
TowerCraneId: TowerCraneId
}),
success: function (data) {
if (data.d != '' && data.d != undefined) {
var d = JSON.parse(data.d);
$('#divTowerCraneName').text(d.TowerCraneName)
$('#divTowerCraneCode').text(d.TowerCraneCode)
$('#divTowerCap').text(d.TowerCap)
$('#divMaxHoist').text(d.MaxHoist+'T')
$('#divMaxMoment').text(d.MaxMoment)
$('#divFrontArmLength').text(d.FrontArmLength + '米')
$('#divBackArmLength').text(d.BackArmLength + '米')
$('#divArmHeigh').text(d.ArmHeigh + '米')
$('#DailyWarning').text(d.DailyWarning)
$('#DailyAlarm').text(d.DailyAlarm)
$('#Camber').text(d.Camber)
$('#Height').text(d.Height)
$('#Hoist').text(d.Hoist)
$('#Moment').text(d.Moment)
$('#Range').text(d.Range)
$('#WindSpeed').text(d.WindSpeed)
createSSDZMap(d.SSDZ, d.SSDZX)
createSSLJMap(d.SSLJ, d.SSLJX)
createBJQSMap(d.BJQS, d.BJQSX)
}
}
})
}
setTimeout(function () {
runGetData();
}, 5000);
}
var videoHost = 'https://camera.cwcec.com:10000/';
function initVideo(VideoUserName, VideoPassWord) {
var player = document.getElementById('player01');
player.setAttribute("video-url",'');
$.get(videoHost + 'api/v1/login?username=' + VideoUserName + '&password=' + VideoPassWord, function (data1) {
authToken = data1.AuthToken;
$.get(videoHost + 'api/v1/device/channeltree?token=' + authToken, function (data2) {
for (var i = 0; i < data2.length && i <= 0; i++) {
$.get(videoHost + 'api/v1/device/channeltree?serial=' + data2[i].serial + '&token=' + authToken, function (data3) {
debugger
if (data3.length > 0) {
$.get(videoHost + 'api/v1/stream/start?serial=' + data3[0].id.split(':')[0] + '&code=' + data3[0].id.split(':')[1] + '&token=' + authToken, function (data4) {
console.log(data4.HLS)
var player = document.getElementById('player01');
player.setAttribute("video-url", data4.HLS);
}, 'json');
}
}, 'json');
}
}, 'json');
}, 'json');
}
runGetData()
</script>
</body>
</html>

View File

@ -0,0 +1,246 @@
using BLL;
using System;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using Newtonsoft.Json.Linq;
using System.IO;
using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using System.Runtime.Serialization;
using FineUIPro.Web.ProjectData;
using System.Configuration;
using System.Web.Services;
using Newtonsoft.Json;
using FineUIPro.Web.DataShow;
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneState : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.InitTreeMenu();//加载树
//显示列
}
}
#endregion
#region --
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
////塔吊
var towerCranes = (from x in Funs.DB.HSSE_TowerCrane where x.ProjectId == this.CurrUser.LoginProjectId
&& ( string.IsNullOrEmpty(txtIsono.Text) || x.TowerCraneName.Contains(txtIsono.Text))
orderby x.CreateDate select x ).ToList();
foreach(var item in towerCranes )
{
TreeNode rootNode = new TreeNode();
rootNode.Text = item.TowerCraneName;
rootNode.NodeID = item.TowerCraneId;
rootNode.EnableClickEvent= true;
this.tvControlItem.Nodes.Add(rootNode);
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#region
/// <summary>
/// 树展开事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
string TowerCraneId = this.tvControlItem.SelectedNodeID;
this.hfTowerCraneId.Text = TowerCraneId;
var towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == TowerCraneId);
PageContext.RegisterStartupScript("runGetData() ; initVideo('"+ towerCrane.VideoAccount + "', '"+ Funs.EncryptionPassword(towerCrane.VideoPassword )+ "');");
}
[WebMethod]
public static string GetData(string TowerCraneId)
{
Dictionary<string, object> res = new Dictionary<string, object>();
var towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == TowerCraneId);
if (towerCrane != null)
{
res.Add("TowerCraneName", towerCrane.TowerCraneName);
res.Add("TowerCraneCode", towerCrane.TowerCraneCode);
res.Add("TowerCap", towerCrane.TowerCap);
res.Add("VideoAccount", towerCrane.VideoAccount);
res.Add("VideoPassword", Funs.EncryptionPassword(towerCrane.VideoPassword));
if (towerCrane.MaxHoist.HasValue)
{
res.Add("MaxHoist", towerCrane.MaxHoist.Value.ToString("##.##"));
}
if (towerCrane.MaxMoment.HasValue)
{
res.Add("MaxMoment", towerCrane.MaxMoment.Value.ToString("##.##"));
}
if (towerCrane.FrontArmLength.HasValue)
{
res.Add("FrontArmLength", towerCrane.FrontArmLength.Value.ToString("##.##"));
}
if (towerCrane.BackArmLength.HasValue)
{
res.Add("BackArmLength", towerCrane.BackArmLength.Value.ToString("##.##"));
}
if (towerCrane.ArmHeigh.HasValue)
{
res.Add("ArmHeigh", towerCrane.ArmHeigh.Value.ToString("##.##"));
}
DateTime date = DateTime.Now.AddDays(-1);
var record = Funs.DB.HSSE_TowerCraneRecord.Where(x=>x.TowerCraneId==TowerCraneId && x.Date>=date).OrderByDescending(x=>x.Date).ToList();
if (record.Count > 0)
{
res.Add("AmountHoist", record[0].AmountHoist.Value.ToString("#0.##"));
res.Add("Camber", record[0].Camber.Value.ToString("#0.##"));
res.Add("Height", record[0].Height.Value.ToString("#0.##"));
res.Add("Hoist", record[0].Hoist.Value.ToString("#0.##"));
res.Add("Moment", record[0].Moment.Value.ToString("#0.##"));
res.Add("Range", record[0].Range.Value.ToString("#0.##"));
res.Add("RotationAngle", record[0].RotationAngle.Value.ToString("#0.##"));
res.Add("WindSpeed", record[0].WindSpeed.Value.ToString("#0.##"));
}
else
{
res.Add("AmountHoist", "0");
res.Add("Camber", "0");
res.Add("Height", "0");
res.Add("Hoist", "0");
res.Add("Moment", "0");
res.Add("Range", "0");
res.Add("RotationAngle", "0");
res.Add("WindSpeed", "0");
}
HashSet<string> warnings = new HashSet<string>();
warnings.Add("111");
warnings.Add("121");
warnings.Add("132");
warnings.Add("133");
warnings.Add("141");
warnings.Add("151");
HashSet<string> alarms = new HashSet<string>();
alarms.Add("112");
alarms.Add("122");
alarms.Add("131");
alarms.Add("134");
alarms.Add("142");
alarms.Add("152");
alarms.Add("201");
alarms.Add("202");
int DailyWarning = 0;
int DailyAlarm = 0;
List<double> SSDZ = new List<double>();
List<string> SSDZX = new List<string>();
List<double> SSLJ = new List<double>();
List<string> SSLJX = new List<string>();
List<int> BJQS = new List<int>();
List<string> BJQSX = new List<string>();
foreach (var r in record)
{
if (!string.IsNullOrEmpty(r.AlarmType))
{
string[] AlarmType = r.AlarmType.Replace("[","").Replace("]","").Split(',');
foreach(string a in AlarmType)
{
if (warnings.Contains(a))
{
DailyWarning++;
}
if (alarms.Contains(a))
{
DailyAlarm++;
}
}
BJQS.Add(AlarmType.Length);
BJQSX.Add(r.Date.Value.ToString("HH:mm"));
}
if (r.Hoist.HasValue)
{
SSDZ.Add(r.Hoist.Value);
SSDZX.Add(r.Date.Value.ToString("HH:mm"));
}
else
{
SSDZ.Add(0);
}
if (r.Moment.HasValue)
{
SSLJ.Add(r.Moment.Value);
SSLJX.Add(r.Date.Value.ToString("HH:mm"));
}
else
{
SSLJ.Add(0);
}
}
res.Add("SSDZ", SSDZ);
res.Add("SSDZX", SSDZX);
res.Add("SSLJ", SSLJ);
res.Add("SSLJX", SSLJX);
res.Add("BJQS", BJQS);
res.Add("BJQSX", BJQSX);
res.Add("DailyWarning", DailyWarning + "");
res.Add("DailyAlarm", DailyAlarm + "");
}
return JsonConvert.SerializeObject(res); ;
}
#endregion
#endregion
}
}

View File

@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.TowerCrane
{
public partial class TowerCraneState
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtIsono 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIsono;
/// <summary>
/// hfTowerCraneId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hfTowerCraneId;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// divMaxMoment 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMaxMoment;
/// <summary>
/// divFrontArmLength 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divFrontArmLength;
/// <summary>
/// divBackArmLength 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBackArmLength;
/// <summary>
/// divTowerCap 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTowerCap;
/// <summary>
/// divArmHeigh 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divArmHeigh;
}
}

View File

@ -0,0 +1,39 @@
/* 删除: 之前的样式 */
/* 添加重置CSS样式 */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
live-player {
font-family: '宋体';
margin: 0;
padding: 0;
border: 0;
font-size: 14px;
line-height: 1;
vertical-align: baseline;
box-sizing: border-box;
user-select: none; /* 添加: 禁止文字选中 */
}
html,
body {
height: 100%;
width: 100%;
}
ol,
ul {
list-style: none;
}
html::-webkit-scrollbar {
display: none;
}

View File

@ -0,0 +1,265 @@
.y_wrap{
height: 100%;
width: 100%;
display: grid;
padding: 0.1875rem;
grid-template-columns: 1.2fr 2fr;
gap: 0.1875rem;
background-color: #f5f3f3;
}
.y_l_site{
height: 100%;
display: grid;
grid-template-rows: 1.3fr 2fr 1.2fr;
gap: 0.1875rem;
}
.y_r_site{
height: 100%;
display: grid;
grid-template-rows: 2fr 1fr 2fr;
gap: 0.1875rem;
}
.y_r_site_sub{
display: grid;
grid-template-columns: 1.2fr 2fr;
gap: 0.1875rem;
}
.y_r_site_sub1{
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.1875rem;
}
.y_r_site_sub1>div,
.y_r_site_sub>div,
.y_r_site>div:nth-child(2),
.y_l_site>div{
background-color: #ffffff;
}
.y_box{
position: relative;
}
.y_box>.tit{
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
padding: 0 0.25rem;
height: 0.5rem;
}
.y_box>.tit>p{
line-height: 1;
font-size: 0.2rem;
margin-left: 0.1875rem;
}
.y_c_icon{
height: 0.2rem;
width: 0.2rem;
border:0.0375rem solid #5b97f9;
border-radius: 50%;
position: relative;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.y_c_icon>span{
height: 0.125rem;
width: 0.125rem;
border-radius: 50%;
border:0.0375rem solid #5b97f9;
}
.y_box_main{
width: 100%;
height: calc(100% - 0.5rem);
}
/* 设备报警 */
#sbbj{
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-items: center;
}
#sbbj>div{
min-width: 1.8rem;
max-width: 90%;
height: 0.725rem;
padding-left: 1rem;
background-position: left center;
background-repeat: no-repeat;
background-size: 0.875rem 0.725rem;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
#sbbj>div:nth-child(1){
background-image: url("../images/tower/twoerpolic.bb339ff.png");
}
#sbbj > div:nth-child(2) {
background-image: url("../images/tower/twoerpolice2.261a289.png");
}
#sbbj>div>div:nth-child(1){
font-size: 0.2rem;
}
#sbbj>div>div:nth-child(2){
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
#sbbj>div>div:nth-child(2)>span{
font-size: 0.2rem;
}
/* 设备信息 */
#sbxx{
padding: 0.1875rem;
}
#sbxx>.y_row{
padding: 0.125rem 0;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
border-bottom: 1px solid #ddd;
}
#sbxx>.y_row>.y_span{
flex: 1;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
#sbxx>.y_row>.y_span>div{
width: 50%;
}
#sbxx>.y_row>.y_span>.y_span_lab{
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
#sbxx>.y_row>.y_span>.y_span_val{
text-align: right;
padding: 0 0.125rem;
}
#sbxx>.y_row>.y_span>.y_span_lab>span:nth-child(1){
display: inline-block;
height: 0.2rem;
width: 0.075rem;
border-radius: 0.0375rem;
background-color: #5b97f9;
}
#sbxx>.y_row>.y_span>.y_span_lab>span:nth-child(2){
font-size: 0.2rem;
margin-left: 0.125rem;
}
/* 吊重\风速... */
#zt{
padding: 0.125rem;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-row: 1fr 1fr;
grid-row-gap: 0.1875rem;
grid-column-gap: 0.125rem;
}
#zt>div{
border: 1px solid #d3e3fe;
background-color: #eff5ff;
border-radius: 0.1rem;
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 0 0.1875rem;
align-items: center;
}
#zt > div > span:nth-child(1) {
height: 0.475rem;
width: 0.475rem;
background-image: url("../images/tower/work1.e93d23f.png");
background-position: center center;
background-repeat: no-repeat;
background-size: 0.475rem 0.475rem;
}
#zt > div:nth-child(2) > span:nth-child(1) {
background-image: url("../images/tower/2.png");
}
#zt > div:nth-child(3) > span:nth-child(1) {
background-image: url("../images/tower/3.png");
}
#zt > div:nth-child(4) > span:nth-child(1) {
background-image: url("../images/tower/4.png");
}
#zt > div:nth-child(5) > span:nth-child(1) {
background-image: url("../images/tower/5.png");
}
#zt > div:nth-child(6) > span:nth-child(1) {
background-image: url("../images/tower/6.png");
}
#zt>div>span:nth-child(2){
width: 40%;
color: #649bf8;
font-size: .2rem;
font-weight: 700;
text-align: center;
}
#zt>div>span:nth-child(3){
color: #404040;
font-size: 0.2rem;
}
/* 塔吊状态 */
#tdzt{
padding: 0.1875rem;
}
#tdzt > div {
width: 100%;
height: calc(100% - 0.5rem);
background-image: url(../images/tower/tjimg.97b7389.png);
background-position: center;
background-repeat: no-repeat;
}
#tdzt>p{
height: 0.5rem;
line-height: .5rem;
font-size: 0.225rem;
text-align: center;
}
/* 视频 */
#sp{
position: relative; /* 设置相对定位 */
width: 100%; /* 宽度占满父容器 */
height: 100%;
}
#sp live-player {
position: absolute; /* 绝对定位 */
top: 0;
left: 0;
width: 100%; /* 宽度100% */
height: 100%; /* 高度100% */
background-color: #000000;
object-fit: cover; /* 保持原始比例并覆盖整个区域 */
}
.c_5b97f9{
color: #5b97f9;
font-weight: 700;
font-size: 0.25rem !important;
}
.c_ff5353{
color: #ff5353;
font-weight: 700;
font-size: 0.25rem !important;
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff