20211207 新增与博晟培训考试对接写入数据接口以及页面数据呈现

This commit is contained in:
杨红卫 2021-12-07 16:34:32 +08:00
parent 3d3e34606e
commit 899a39776a
39 changed files with 8672 additions and 24 deletions

View File

@ -0,0 +1,271 @@
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','博晟培训考试','',95,'0','Menu_HSSE',0,0,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('FCA7A020-9F1B-4E1B-B457-001E05A19774','项目单位','BoSheng/BoUnit.aspx',10,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1','人员信息','BoSheng/BoPerson.aspx',20,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('9DF3DA33-E80D-4BF5-882C-842E400F7CAF','培训记录','BoSheng/BoTrain.aspx',30,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('17666A2C-EE47-42DE-AB8E-E23088BB156D','培训人员','BoSheng/BoTrainPerson.aspx',40,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('909BBC10-68D4-4C97-9FC3-9C1168D5FBC5','培训试卷','BoSheng/BoExam.aspx',50,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F','人员培训记录','BoSheng/BoPersonTrainRecord.aspx',60,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
--- 1 项目单位
CREATE TABLE [dbo].[Bo_Sheng_Unit](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[ParentID] [nvarchar](50) NULL,
[DepartCode] [nvarchar](50) NULL,
[ParentCode] [nvarchar](50) NULL,
[DepartName] [nvarchar](50) NULL,
[DepartType] [nvarchar](50) NULL,
[DepartShortName] [nvarchar](50) NULL,
[DepartOrder] [nvarchar](50) NULL,
[State] [nvarchar](50) NULL,
[DepartSir] [nvarchar](50) NULL,
[IsEpiboly] [nvarchar](50) NULL,
[Phone] [nvarchar](50) NULL,
[Charge] [nvarchar](50) NULL,
[Remark] [nvarchar](50) NULL,
[OwnerDeptID] [nvarchar](50) NULL,
[CreateDate] [datetime] NULL,
[CreateUser] [nvarchar](50) NULL,
[OperDate] [datetime] NULL,
[OperUser] [nvarchar](50) NULL,
CONSTRAINT [PK_Bo_Sheng_Unit] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
--- 2 人员信息
CREATE TABLE [dbo].[Bo_Sheng_Person](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[CreateDate] [datetime] NULL,
[CreateUser] [nvarchar](50) NULL,
[OperDate] [datetime] NULL,
[OperUser] [nvarchar](50) NULL,
[DeleteUser] [nvarchar](50) NULL,
[DeleteDate] [datetime] NULL,
[DeleteTag] [nvarchar](50) NULL,
[Name] [nvarchar](100) NULL,
[Sex] [nvarchar](2) NULL,
[BirthDay] [datetime] NULL,
[Address] [nvarchar](200) NULL,
[Nation] [nvarchar](50) NULL,
[IdentifyID] [nvarchar](50) NULL,
[Kind] [nvarchar](50) NULL,
[Photo] [nvarchar](2000) NULL,
[Police] [nvarchar](50) NULL,
[ValidPeriodStart] [nvarchar](50) NULL,
[ValidPeriodEnd] [nvarchar](50) NULL,
[Education] [nvarchar](50) NULL,
[Native] [nvarchar](500) NULL,
[Telephone] [nvarchar](50) NULL,
[MaritalStatus] [nvarchar](50) NULL,
[BloodGroup] [nvarchar](50) NULL,
[RegisteredType] [nvarchar](50) NULL,
[Age] [int] NULL,
[JobNumber] [nvarchar](50) NULL,
[CardContent] [nvarchar](50) NULL,
[ContactTel] [nvarchar](50) NULL,
[SecondContacts] [nvarchar](50) NULL,
[SecondContactsTel] [nvarchar](50) NULL,
[NewAddress] [nvarchar](50) NULL,
[HealthCondition] [nvarchar](50) NULL,
[HealthFile] [nvarchar](500) NULL,
[BuildArea] [nvarchar](50) NULL,
[TraPrincipal] [nvarchar](50) NULL,
[RegisterDate] [datetime] NULL,
[CategoryType] [nvarchar](50) NULL,
[Station] [nvarchar](50) NULL,
[Category] [nvarchar](50) NULL,
[CategoryLevel] [nvarchar](50) NULL,
[EntranceDate] [datetime] NULL,
[IsOut] [nvarchar](50) NULL,
[LeaveDate] [datetime] NULL,
[IsBlackList] [nvarchar](50) NULL,
[AgreementId] [nvarchar](100) NULL,
[HasInsurance] [nvarchar](50) NULL,
[DeviceNumber] [nvarchar](50) NULL,
[IsActive] [nvarchar](50) NULL,
[DepartId] [nvarchar](50) NULL,
[DepartName] [nvarchar](100) NULL,
[OwnerDepartId] [nvarchar](50) NULL,
[UploadTime] [datetime] NULL,
CONSTRAINT [PK_Bo_Sheng_Person] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
--- 3 培训记录
CREATE TABLE [dbo].[Bo_Sheng_Train](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[DeleteUser] [nvarchar](50) NULL,
[DeleteDate] [datetime] NULL,
[DeleteTag] [nvarchar](50) NULL,
[RecordName] [nvarchar](500) NULL,
[TrainType] [nvarchar](50) NULL,
[PaperMode] [nvarchar](50) NULL,
[TrainMode] [nvarchar](50) NULL,
[TrainPrincipal] [nvarchar](50) NULL,
[TrainStartDate] [datetime] NULL,
[TrainEndDate] [datetime] NULL,
[TrainContent] [nvarchar](max) NULL,
[TrainDescript] [nvarchar](max) NULL,
[TrainPeriod] [nvarchar](50) NULL,
[PersonCount] [int] NULL,
[PassedCount] [int] NULL,
[CoverImg] [nvarchar](2000) NULL,
[DemandID] [nvarchar](50) NULL,
[CourseCount] [int] NULL,
[CourseDuration] [nvarchar](50) NULL,
[Source] [nvarchar](50) NULL,
[Description] [nvarchar](500) NULL,
[DeviceNo] [nvarchar](50) NULL,
[OwnerDepartId] [nvarchar](50) NULL,
[UploadTime] [datetime] NULL,
[OwnerDeptName] [nvarchar](100) NULL,
[TrainDepart] [nvarchar](max) NULL,
[CreateDate] [datetime] NULL,
[CreateUser] [nvarchar](50) NULL,
[OperDate] [datetime] NULL,
[OperUser] [nvarchar](50) NULL,
CONSTRAINT [PK_Bo_Sheng_Train] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
--- 4 培训人员
CREATE TABLE [dbo].[Bo_Sheng_TrainPerson](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[DeleteUser] [nvarchar](50) NULL,
[DeleteDate] [datetime] NULL,
[DeleteTag] [nvarchar](50) NULL,
[EmpName] [nvarchar](100) NULL,
[IdentifyId] [nvarchar](50) NULL,
[Photo] [nvarchar](500) NULL,
[Station] [nvarchar](50) NULL,
[Category] [nvarchar](50) NULL,
[CategoryName] [nvarchar](50) NULL,
[RecordId] [nvarchar](50) NULL,
[SignName] [nvarchar](500) NULL,
[DepartId] [nvarchar](50) NULL,
[DepartName] [nvarchar](50) NULL,
[SignInDate] [datetime] NULL,
[SignInType] [nvarchar](50) NULL,
[TrainPeriod] [nvarchar](50) NULL,
[State] [nvarchar](50) NULL,
[TotalScore] [decimal](18, 2) NULL,
[PassScore] [decimal](18, 0) NULL,
[Score] [decimal](18, 2) NULL,
[IsPass] [nvarchar](50) NULL,
[GroupNo] [nvarchar](50) NULL,
[ExamNo] [nvarchar](50) NULL,
[ExamCount] [int] NULL,
[DeviceNo] [nvarchar](50) NULL,
[OwnerDepartId] [nvarchar](50) NULL,
[UploadTime] [datetime] NULL,
[Answers] [nvarchar](2000) NULL,
[CreateDate] [datetime] NULL,
[CreateUser] [nvarchar](50) NULL,
[OperDate] [datetime] NULL,
[OperUser] [nvarchar](50) NULL,
CONSTRAINT [PK_Bo_Sheng_TrainPerson] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
--- 5 考试试卷
CREATE TABLE [dbo].[Bo_Sheng_Exam](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[RecordId] [nvarchar](50) NULL,
[ExamNo] [nvarchar](50) NULL,
[GroupNo] [nvarchar](50) NULL,
[CourseID] [nvarchar](50) NULL,
[COrder] [int] NULL,
[QsnCode] [nvarchar](50) NULL,
[QsnId] [nvarchar](50) NULL,
[QsnContent] [nvarchar](max) NULL,
[QsnFileName] [nvarchar](50) NULL,
[QsnAnswer] [nvarchar](50) NULL,
[QsnCategory] [nvarchar](50) NULL,
[QsnKind] [nvarchar](50) NULL,
[QsnImportant] [nvarchar](50) NULL,
[Description] [nvarchar](500) NULL,
[Analysis] [nvarchar](max) NULL,
[UploadTime] [datetime] NULL,
CONSTRAINT [PK_Bo_Sheng_Exam] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
--- 6 人员培训记录
CREATE TABLE [dbo].[Bo_Sheng_PersonTrainRecord](
[ID] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[EmpName] [nvarchar](50) NULL,
[IdentifyId] [nvarchar](50) NULL,
[CategoryName] [nvarchar](50) NULL,
[RecordId] [nvarchar](50) NULL,
[DepartId] [nvarchar](50) NULL,
[DepartName] [nvarchar](50) NULL,
[TrainPeriod] [nvarchar](50) NULL,
[TotalScore] [decimal](18, 2) NULL,
[PassScore] [decimal](18, 2) NULL,
[Score] [decimal](18, 2) NULL,
[IsPass] [nvarchar](50) NULL,
[GroupNo] [nvarchar](50) NULL,
[ExamNo] [nvarchar](50) NULL,
[ExamCount] [nvarchar](50) NULL,
[DeviceNo] [nvarchar](50) NULL,
[OwnerDepartId] [nvarchar](50) NULL,
[Answers] [nvarchar](500) NULL,
[RecordName] [nvarchar](50) NULL,
[TrainType] [nvarchar](50) NULL,
[PaperMode] [nvarchar](50) NULL,
[TrainMode] [nvarchar](50) NULL,
[TrainPrincipal] [nvarchar](50) NULL,
[TrainStartDate] [datetime] NULL,
[TrainEndDate] [datetime] NULL,
[TrainContent] [nvarchar](2000) NULL,
[TrainDescript] [nvarchar](max) NULL,
CONSTRAINT [PK_Bo_Sheng_PersonTrainRecord] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

View File

@ -518,6 +518,30 @@ GO
VALUES('6FF941C1-8A00-4A74-8111-C892FC30A8DA','考试统计','HSSE/EduTrain/TestStatistics.aspx',80,'6A0506EB-05CE-4BB3-9BA9-866389F01E1C','Menu_HSSE',0,1,1)
GO
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','博晟培训考试','',95,'0','Menu_HSSE',0,0,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('FCA7A020-9F1B-4E1B-B457-001E05A19774','项目单位','BoSheng/BoUnit.aspx',10,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1','人员信息','BoSheng/BoPerson.aspx',20,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('9DF3DA33-E80D-4BF5-882C-842E400F7CAF','培训记录','BoSheng/BoTrain.aspx',30,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('17666A2C-EE47-42DE-AB8E-E23088BB156D','培训人员','BoSheng/BoTrainPerson.aspx',40,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('909BBC10-68D4-4C97-9FC3-9C1168D5FBC5','培训试卷','BoSheng/BoExam.aspx',50,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F','人员培训记录','BoSheng/BoPersonTrainRecord.aspx',60,'3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3','Menu_HSSE',0,1,1)
GO
--HSSE检查管理
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('467A0CB9-737D-4451-965E-869EBC3A4BD6','HSE检查','',100,'0','Menu_HSSE',0,0,1)

View File

@ -20,17 +20,27 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
int maxId = 0;
string name = string.Empty;
var getPersonByIdCard = db.SitePerson_Person.Where(x => x.IdentityCard == idCard).OrderByDescending(x=>x.InTime).FirstOrDefault();
if (getPersonByIdCard != null)
{
name = getPersonByIdCard.PersonName;
projectId = getPersonByIdCard.ProjectId;
}
else
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId == projectId);
if (getPerson != null)
{
name = getPerson.PersonName;
}
}
var getmax = db.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == Intype).Select(x => x.ID);
if (getmax.Count() > 0)
{
maxId = getmax.Max() + 1;
}
string name = string.Empty;
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId ==projectId);
if (getPerson != null)
{
name = getPerson.PersonName;
}
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
{
@ -44,9 +54,9 @@ namespace BLL
RecordDes = Intype,
InOrOut = (isIn == 1 ? "进门" : "出门"),
};
db.T_d_facerecord.InsertOnSubmit(newFacerecord);
db.SubmitChanges();
///// 根据出入记录 写入考勤记录
Model.t_d_facerecordItem facerecord = new Model.t_d_facerecordItem
{

View File

@ -163,6 +163,7 @@
<Compile Include="BaseInfo\UnitTypeService.cs" />
<Compile Include="BaseInfo\WorkPostService.cs" />
<Compile Include="BaseInfo\WorkStageService.cs" />
<Compile Include="BoSheng\BOSHENGService.cs" />
<Compile Include="Common\AttachFileService.cs" />
<Compile Include="Common\CodeRecordsService.cs" />
<Compile Include="Common\CommonService.cs" />
@ -707,6 +708,7 @@
<Compile Include="TestRun\ProduceTestRun\TestRunRecordService.cs" />
<Compile Include="TestRun\ProduceTestRun\TestRunReportService.cs" />
<Compile Include="TestRun\TestRunService.cs" />
<Compile Include="BoSheng\BOSHENGMonitorService.cs" />
<Compile Include="WebService\MCSWebService.cs" />
<Compile Include="WebService\CNCECHSSEWebService.cs" />
<Compile Include="WebService\CNCECHSSEMonitorService.cs" />

View File

@ -0,0 +1,639 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Timers;
namespace BLL
{
public class BOSHENGMonitorService
{
#region 5
/// <summary>
/// 监视组件
/// </summary>
private static Timer messageTimer;
/// <summary>
/// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 系统启动5分钟
/// </summary>
public static void StartMonitor()
{
int adTimeJ = 120;
if (messageTimer != null)
{
messageTimer.Stop();
messageTimer.Dispose();
messageTimer = null;
}
if (adTimeJ > 0)
{
messageTimer = new Timer
{
AutoReset = true
};
messageTimer.Elapsed += new ElapsedEventHandler(AddData);
messageTimer.Interval = 1000 * 60 * adTimeJ;// 60000 * adTimeJ;
messageTimer.Start();
}
}
/// <summary>
/// 流程确认 定时执行 系统启动5分钟
/// </summary>
/// <param name="sender">Timer组件</param>
/// <param name="e">事件参数</param>
private static void AddData(object sender, ElapsedEventArgs e)
{
try
{
var getDataList = (from x in Funs.DB.Sys_DataExchange where x.IsUpdate == false select x).Take(200).ToList();
if (getDataList.Count() > 0)
{
var getDataList0 = getDataList.Where(x => x.MessageText.Contains("\"Type\":0")).ToList();
var getDataList1 = getDataList.Where(x => x.MessageText.Contains("\"Type\":1")).ToList();
var getDataList2 = getDataList.Where(x => x.MessageText.Contains("\"Type\":2")).ToList();
var getDataList3 = getDataList.Where(x => x.MessageText.Contains("\"Type\":3")).ToList();
var getDataList4 = getDataList.Where(x => x.MessageText.Contains("\"Type\":4")).ToList();
var getDataList5 = getDataList.Where(x => x.MessageText.Contains("\"Type\":5")).ToList();
AddDataItem(getDataList1);
AddDataItem(getDataList0);
AddDataItem(getDataList2);
AddDataItem(getDataList3);
AddDataItem(getDataList4);
AddDataItem(getDataList5);
}
}
catch (Exception ex)
{
StartMonitor();
ErrLogInfo.WriteLog(ex, "博晟数据接口定时器", "RealNameMonitorService.AdUserInProcess");
}
}
#endregion
#region
/// <summary>
/// 与博晟培训考试接口数据插入明细方法
/// </summary>
/// <param name="getDataExchange"></param>
private static void AddDataItem(List<Model.Sys_DataExchange> getDataExchange)
{
bool isOk = false;
foreach (var item in getDataExchange)
{
JObject obj = JObject.Parse(item.MessageText);
string type = obj["Type"].ToString();
string code = obj["Code"].ToString();
string fromprojectId = obj["DepartId"].ToString();
JArray arr = JArray.Parse(obj["Data"].ToString());
string projectId = string.Empty;
////根据传值项目主键
var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId);
if (getProjectByFromProjectId != null)
{
projectId = getProjectByFromProjectId.ProjectId;
}
else
{
if (type == "1")
{
projectId = AddProject(arr);
}
}
if (!string.IsNullOrEmpty(projectId))
{
var sysUser = BLL.UserService.GetUserByUserId(BLL.Const.sysglyId);
if (sysUser != null)
{
sysUser.LoginProjectId = projectId;
}
if (type == "0")
{
isOk = AddPerson(projectId, arr, sysUser);
}
else if (type == "1")
{
isOk = AddUnit(projectId, arr, sysUser);
}
else if (type == "2")
{
isOk = AddTrainRecord(projectId, arr, sysUser);
}
else if (type == "3")
{
isOk = AddTrainRecordPerson(projectId, arr, sysUser);
}
else if (type == "4")
{
isOk = AddEduTrain_TrainTest(projectId, arr, sysUser);
}
else if (type == "5")
{
isOk = AddPersonTrainRecord(projectId, arr, sysUser);
}
if (isOk) ///更新数据接收状态
{
item.IsUpdate = true;
Funs.DB.SubmitChanges();
}
}
}
}
#endregion
#region -
/// <summary>
/// 插入信息-项目信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static string AddProject(JArray arr)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
string projectId = string.Empty;
try
{
foreach (var item in arr)
{
string fromUnitId = item["ID"].ToString();
string departName = item["DepartName"].ToString(); ///单位名称
string departSir = item["DepartSir"].ToString(); ///单位级别 0非项目部 1项目部级 2项目部下级单位
if (!string.IsNullOrEmpty(fromUnitId) && !string.IsNullOrEmpty(departName) && departSir == "1")
{
var getProjectByFromProjectId = db.Base_Project.FirstOrDefault(x => x.FromProjectId == fromUnitId);
if (getProjectByFromProjectId == null)
{
string projectCode = item["ProjectCode"].ToString();
var getProjectByProjectCode = db.Base_Project.FirstOrDefault(x => x.ProjectCode == projectCode);
if (getProjectByProjectCode != null)
{
projectId = getProjectByProjectCode.ProjectId;
getProjectByProjectCode.FromProjectId = fromUnitId;
db.SubmitChanges();
}
}
}
}
}
catch (Exception ex)
{
ErrLogInfo.WriteLog("博晟-项目同步", ex);
}
return projectId;
}
}
#endregion
#region
/// <summary>
/// 插入人员信息 0
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddPerson(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_Person> insertPersons = new List<Model.Bo_Sheng_Person>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getPerson = db.Bo_Sheng_Person.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getPerson == null)
{
Model.Bo_Sheng_Person newPerson = new Model.Bo_Sheng_Person
{
ID = getID,
ProjectId =projectId,
CreateDate =Funs.GetNewDateTime( item["CreateDate"].ToString()),
CreateUser = item["CreateUser"].ToString(),
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
OperUser = item["OperUser"].ToString(),
DeleteUser = item["DeleteUser"].ToString(),
DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString()),
DeleteTag = item["DeleteTag"].ToString(),
Name = item["Name"].ToString(),
Sex = item["Sex"].ToString(),
BirthDay = Funs.GetNewDateTime(item["BirthDay"].ToString()),
Address = item["Address"].ToString(),
Nation = item["Nation"].ToString(),
IdentifyID = item["IdentifyID"].ToString(),
Kind = item["Kind"].ToString(),
Photo = item["Photo"].ToString(),
Police = item["Police"].ToString(),
ValidPeriodStart = item["ValidPeriodStart"].ToString(),
ValidPeriodEnd = item["ValidPeriodEnd"].ToString(),
Education = item["Education"].ToString(),
Native = item["Native"].ToString(),
Telephone = item["Telephone"].ToString(),
MaritalStatus = item["MaritalStatus"].ToString(),
BloodGroup = item["BloodGroup"].ToString(),
RegisteredType = item["RegisteredType"].ToString(),
Age = Funs.GetNewInt(item["Age"].ToString()),
JobNumber = item["JobNumber"].ToString(),
CardContent = item["CardContent"].ToString(),
ContactTel = item["ContactTel"].ToString(),
SecondContacts = item["SecondContacts"].ToString(),
SecondContactsTel = item["SecondContactsTel"].ToString(),
NewAddress = item["NewAddress"].ToString(),
HealthCondition = item["HealthCondition"].ToString(),
HealthFile = item["HealthFile"].ToString(),
BuildArea = item["BuildArea"].ToString(),
TraPrincipal = item["TraPrincipal"].ToString(),
RegisterDate = Funs.GetNewDateTime(item["RegisterDate"].ToString()),
CategoryType = item["CategoryType"].ToString(),
Station = item["Station"].ToString(),
Category = item["Category"].ToString(),
CategoryLevel = item["CategoryLevel"].ToString(),
EntranceDate = Funs.GetNewDateTime(item["EntranceDate"].ToString()),
IsOut = item["IsOut"].ToString(),
LeaveDate = Funs.GetNewDateTime(item["LeaveDate"].ToString()),
IsBlackList = item["IsBlackList"].ToString(),
AgreementId = item["AgreementId"].ToString(),
HasInsurance = item["HasInsurance"].ToString(),
DeviceNumber = item["DeviceNumber"].ToString(),
IsActive = item["IsActive"].ToString(),
DepartId = item["DepartId"].ToString(),
DepartName = item["DepartName"].ToString(),
OwnerDepartId = item["OwnerDepartId"].ToString(),
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
};
insertPersons.Add(newPerson);
}
}
if (insertPersons.Count() > 0)
{
db.Bo_Sheng_Person.InsertAllOnSubmit(insertPersons);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-人员信息同步", ex);
}
return isOk;
}
}
#endregion
#region - 1
/// <summary>
/// 插入信息-单位信息 1
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddUnit(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_Unit> insertUnits = new List<Model.Bo_Sheng_Unit>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getUnit = db.Bo_Sheng_Unit.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getUnit == null)
{
Model.Bo_Sheng_Unit newUnit = new Model.Bo_Sheng_Unit
{
ID = getID,
ProjectId = projectId,
ParentID = item["ParentID"].ToString(),
DepartCode = item["DepartCode"].ToString(),
ParentCode = item["ParentCode"].ToString(),
DepartName = item["DepartName"].ToString(),
DepartType = item["DepartType"].ToString(),
DepartShortName = item["DepartShortName"].ToString(),
DepartOrder = item["DepartOrder"].ToString(),
State = item["State"].ToString(),
DepartSir = item["DepartSir"].ToString(),
IsEpiboly = item["IsEpiboly"].ToString(),
Phone = item["Phone"].ToString(),
Charge = item["Charge"].ToString(),
Remark = item["Remark"].ToString(),
OwnerDeptID = item["OwnerDeptID"].ToString(),
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
CreateUser = item["CreateUser"].ToString(),
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
OperUser = item["OperUser"].ToString(),
};
insertUnits.Add(newUnit);
}
}
if (insertUnits.Count() > 0)
{
db.Bo_Sheng_Unit.InsertAllOnSubmit(insertUnits);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-单位信息同步", ex);
}
return isOk;
}
}
#endregion
#region 2
/// <summary>
/// 插入培训记录 2
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddTrainRecord(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_Train> insertTrains = new List<Model.Bo_Sheng_Train>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getTrain = db.Bo_Sheng_Train.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getTrain == null)
{
Model.Bo_Sheng_Train newTrainRecord = new Model.Bo_Sheng_Train
{
ID = getID,
ProjectId =projectId,
DeleteUser = item["DeleteUser"].ToString(),
DeleteDate =Funs.GetNewDateTime( item["DeleteDate"].ToString()),
DeleteTag = item["DeleteTag"].ToString(),
RecordName = item["RecordName"].ToString(),
TrainType = item["TrainType"].ToString(),
PaperMode = item["PaperMode"].ToString(),
TrainMode = item["TrainMode"].ToString(),
TrainPrincipal = item["TrainPrincipal"].ToString(),
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
TrainContent = item["TrainContent"].ToString(),
TrainDescript = item["TrainDescript"].ToString(),
TrainPeriod = item["TrainPeriod"].ToString(),
PersonCount = Funs.GetNewInt(item["PersonCount"].ToString()),
PassedCount = Funs.GetNewInt(item["PassedCount"].ToString()),
CoverImg = item["CoverImg"].ToString(),
DemandID = item["DemandID"].ToString(),
CourseCount = Funs.GetNewInt(item["CourseCount"].ToString()),
CourseDuration = item["CourseDuration"].ToString(),
Source = item["Source"].ToString(),
Description = item["Description"].ToString(),
DeviceNo = item["DeviceNo"].ToString(),
OwnerDepartId = item["OwnerDepartId"].ToString(),
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
OwnerDeptName = item["OwnerDeptName"].ToString(),
TrainDepart = item["TrainDepart"].ToString(),
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
CreateUser = item["CreateUser"].ToString(),
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
OperUser = item["OperUser"].ToString(),
};
insertTrains.Add(newTrainRecord);
}
}
if (insertTrains.Count() > 0)
{
db.Bo_Sheng_Train.InsertAllOnSubmit(insertTrains);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-培训记录同步", ex);
}
return isOk;
}
}
#endregion
#region 3
/// <summary>
/// 插入培训人员 3
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddTrainRecordPerson(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_TrainPerson> insertTrainPersons = new List<Model.Bo_Sheng_TrainPerson>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getTrainPerson = db.Bo_Sheng_TrainPerson.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getTrainPerson == null)
{
Model.Bo_Sheng_TrainPerson newPerson = new Model.Bo_Sheng_TrainPerson
{
ID = getID,
ProjectId = projectId,
DeleteUser = item["DeleteUser"].ToString(),
DeleteDate =Funs.GetNewDateTime( item["DeleteDate"].ToString()),
DeleteTag = item["DeleteTag"].ToString(),
EmpName = item["EmpName"].ToString(),
IdentifyId = item["IdentifyId"].ToString(),
Photo = item["Photo"].ToString(),
Station = item["Station"].ToString(),
Category = item["Category"].ToString(),
CategoryName = item["CategoryName"].ToString(),
RecordId = item["RecordId"].ToString(),
SignName = item["SignName"].ToString(),
DepartId = item["DepartId"].ToString(),
DepartName = item["DepartName"].ToString(),
SignInDate = Funs.GetNewDateTime(item["SignInDate"].ToString()),
SignInType = item["SignInType"].ToString(),
TrainPeriod = item["TrainPeriod"].ToString(),
State = item["State"].ToString(),
TotalScore =Funs.GetNewDecimal( item["TotalScore"].ToString()),
PassScore =Funs.GetNewDecimal( item["PassScore"].ToString()),
Score = Funs.GetNewDecimal( item["Score"].ToString()),
IsPass = item["IsPass"].ToString(),
GroupNo = item["GroupNo"].ToString(),
ExamNo = item["ExamNo"].ToString(),
ExamCount = Funs.GetNewInt(item["ExamCount"].ToString()),
DeviceNo = item["DeviceNo"].ToString(),
OwnerDepartId = item["OwnerDepartId"].ToString(),
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
Answers = item["Answers"].ToString(),
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
CreateUser = item["CreateUser"].ToString(),
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
OperUser = item["OperUser"].ToString(),
};
insertTrainPersons.Add(newPerson);
}
}
if (insertTrainPersons.Count() > 0)
{
db.Bo_Sheng_TrainPerson.InsertAllOnSubmit(insertTrainPersons);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-培训人员同步", ex);
}
return isOk;
}
}
#endregion
#region 4
/// <summary>
/// 插入试卷 4
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddEduTrain_TrainTest(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_Exam> insertExams = new List<Model.Bo_Sheng_Exam>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getExam = db.Bo_Sheng_Exam.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getExam == null)
{
Model.Bo_Sheng_Exam newTrainTest = new Model.Bo_Sheng_Exam
{
ID = getID,
ProjectId = projectId,
RecordId = item["RecordId"].ToString(),
ExamNo = item["ExamNo"].ToString(),
GroupNo = item["GroupNo"].ToString(),
CourseID = item["CourseID"].ToString(),
COrder =Funs.GetNewInt(item["COrder"].ToString()),
QsnCode = item["QsnCode"].ToString(),
QsnId = item["QsnId"].ToString(),
QsnContent = item["QsnContent"].ToString(),
QsnFileName = item["QsnFileName"].ToString(),
QsnAnswer = item["QsnAnswer"].ToString(),
QsnCategory = item["QsnCategory"].ToString(),
QsnKind = item["QsnKind"].ToString(),
QsnImportant = item["QsnImportant"].ToString(),
Description = item["Description"].ToString(),
Analysis = item["Analysis"].ToString(),
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
};
insertExams.Add(newTrainTest);
}
}
if (insertExams.Count() > 0)
{
db.Bo_Sheng_Exam.InsertAllOnSubmit(insertExams);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-培训试卷同步", ex);
}
return isOk;
}
}
#endregion
#region 5
/// <summary>
/// 插入人员培训记录 5
/// </summary>
/// <param name="projectId"></param>
/// <param name="arr"></param>
public static bool AddPersonTrainRecord(string projectId, JArray arr, Model.Sys_User user)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
bool isOk = true;
try
{
List<Model.Bo_Sheng_PersonTrainRecord> insertPersonTrainRecords = new List<Model.Bo_Sheng_PersonTrainRecord>();
foreach (var item in arr)
{
string getID = item["ID"].ToString();
var getPersonTrainRecord = db.Bo_Sheng_PersonTrainRecord.FirstOrDefault(x => x.ID == getID);
if (!string.IsNullOrEmpty(getID) && getPersonTrainRecord == null)
{
Model.Bo_Sheng_PersonTrainRecord newRecord = new Model.Bo_Sheng_PersonTrainRecord
{
ID = getID,
ProjectId = projectId,
EmpName = item["EmpName"].ToString(),
IdentifyId = item["IdentifyId"].ToString(),
CategoryName = item["CategoryName"].ToString(),
RecordId = item["RecordId"].ToString(),
DepartId = item["DepartId"].ToString(),
DepartName = item["DepartName"].ToString(),
TrainPeriod = item["TrainPeriod"].ToString(),
TotalScore = Funs.GetNewDecimal(item["TotalScore"].ToString()),
PassScore = Funs.GetNewDecimal(item["PassScore"].ToString()),
Score = Funs.GetNewDecimal(item["Score"].ToString()),
IsPass = item["IsPass"].ToString(),
GroupNo = item["GroupNo"].ToString(),
ExamNo = item["ExamNo"].ToString(),
ExamCount = item["ExamCount"].ToString(),
DeviceNo = item["DeviceNo"].ToString(),
OwnerDepartId = item["OwnerDepartId"].ToString(),
Answers = item["Answers"].ToString(),
RecordName = item["RecordName"].ToString(),
TrainType = item["TrainType"].ToString(),
PaperMode = item["PaperMode"].ToString(),
TrainMode = item["TrainMode"].ToString(),
TrainPrincipal = item["TrainPrincipal"].ToString(),
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
TrainContent = item["TrainContent"].ToString(),
TrainDescript = item["TrainDescript"].ToString(),
};
insertPersonTrainRecords.Add(newRecord);
}
}
if (insertPersonTrainRecords.Count() > 0)
{
db.Bo_Sheng_PersonTrainRecord.InsertAllOnSubmit(insertPersonTrainRecords);
db.SubmitChanges();
}
}
catch (Exception ex)
{
isOk = false;
ErrLogInfo.WriteLog("博晟-人员培训记录同步", ex);
}
return isOk;
}
}
#endregion
}
}

View File

@ -0,0 +1,500 @@
using FineUIPro;
using System;
using System.Collections;
using System.Linq;
namespace BLL
{
public static class BOSHENGService
{
public static Model.SGGLDB db = Funs.DB;
#region
/// <summary>
/// 记录数
/// </summary>
public static int unitcount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_Unit> getUnits = from x in db.Bo_Sheng_Unit select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getUnitListData(string projectId, string departName, string departCode, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_Unit> getDataList = getUnits.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(departName))
{
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
}
if (!string.IsNullOrEmpty(departCode))
{
getDataList = getDataList.Where(x => x.DepartCode.Contains(departCode));
}
unitcount = getDataList.Count();
if (unitcount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.ParentID,
x.DepartCode,
x.ParentCode,
x.DepartName,
x.DepartType,
x.DepartShortName,
x.DepartOrder,
x.State,
x.DepartSir,
x.IsEpiboly,
x.Phone,
x.Charge,
x.Remark,
x.OwnerDeptID,
x.CreateDate,
x.CreateUser,
x.OperDate,
x.OperUser,
};
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int personcount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_Person> getPersons = from x in db.Bo_Sheng_Person select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getPersonListData(string projectId, string departName, string name, string identifyID, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_Person> getDataList = getPersons.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(departName))
{
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
}
if (!string.IsNullOrEmpty(name))
{
getDataList = getDataList.Where(x => x.Name.Contains(name));
}
if (!string.IsNullOrEmpty(identifyID))
{
getDataList = getDataList.Where(x => x.IdentifyID == identifyID);
}
personcount = getDataList.Count();
if (personcount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList.OrderBy(x => x.DepartName), Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.CreateDate,
x.CreateUser,
x.OperDate,
x.OperUser,
x.DeleteUser,
x.DeleteDate,
x.DeleteTag,
x.Name,
x.Sex,
SexName = x.Sex == "2" ? "女" : "男",
x.BirthDay,
x.Address,
x.Nation,
x.IdentifyID,
x.Kind,
x.Photo,
x.Police,
x.ValidPeriodStart,
x.ValidPeriodEnd,
x.Education,
x.Native,
x.Telephone,
x.MaritalStatus,
x.BloodGroup,
x.RegisteredType,
x.Age,
x.JobNumber,
x.CardContent,
x.ContactTel,
x.SecondContacts,
x.SecondContactsTel,
x.NewAddress,
x.HealthCondition,
x.HealthFile,
x.BuildArea,
x.TraPrincipal,
x.RegisterDate,
x.CategoryType,
x.Station,
x.Category,
x.CategoryLevel,
x.EntranceDate,
x.IsOut,
IsOutName = x.IsOut == "1" ? "是" : "否",
x.LeaveDate,
x.IsBlackList,
IsBlackListName =x.IsBlackList == "1" ? "是" : "否",
x.AgreementId,
x.HasInsurance,
x.DeviceNumber,
x.IsActive,
x.DepartId,
x.DepartName,
x.OwnerDepartId,
x.UploadTime,
};
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int traincount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_Train> getTrains = from x in db.Bo_Sheng_Train select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getTrainListData(string projectId, string trainType, string recordName, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_Train> getDataList = getTrains.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(trainType))
{
getDataList = getDataList.Where(x => x.TrainType.Contains(trainType));
}
if (!string.IsNullOrEmpty(recordName))
{
getDataList = getDataList.Where(x => x.RecordName.Contains(recordName));
}
traincount = getDataList.Count();
if (traincount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.DeleteUser,
x.DeleteDate,
x.DeleteTag,
x.RecordName,
x.TrainType,
x.PaperMode,
PaperModeName = x.PaperMode=="0"? "使用原卷" : "重新出卷",
x.TrainMode,
x.TrainPrincipal,
x.TrainStartDate,
x.TrainEndDate,
x.TrainContent,
x.TrainDescript,
x.TrainPeriod,
x.PersonCount,
x.PassedCount,
x.CoverImg,
x.DemandID,
x.CourseCount,
x.CourseDuration,
x.Source,
SourceName = x.Source == "0" ? "项目" : "课程",
x.Description,
x.DeviceNo,
x.OwnerDepartId,
x.UploadTime,
x.OwnerDeptName,
x.TrainDepart,
x.CreateDate,
x.CreateUser,
x.OperDate,
x.OperUser,
};
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int trainPersoncount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_TrainPerson> getTrainPersons = from x in db.Bo_Sheng_TrainPerson select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getTrainPersonListData(string projectId,string departName, string name, string identifyID, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_TrainPerson> getDataList = getTrainPersons.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(departName))
{
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
}
if (!string.IsNullOrEmpty(name))
{
getDataList = getDataList.Where(x => x.EmpName.Contains(name));
}
if (!string.IsNullOrEmpty(identifyID))
{
getDataList = getDataList.Where(x => x.IdentifyId.Contains(identifyID));
}
trainPersoncount = getDataList.Count();
if (trainPersoncount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.DeleteUser,
x.DeleteDate,
x.DeleteTag,
x.EmpName,
x.IdentifyId,
x.Photo,
x.Station,
x.Category,
x.CategoryName,
x.RecordId,
x.SignName,
x.DepartId,
x.DepartName,
x.SignInDate,
x.SignInType,
x.TrainPeriod,
x.State,
StateName= x.State=="0"? "正常" : "补签",
x.TotalScore,
x.PassScore,
x.Score,
x.IsPass,
IsPassName = x.IsPass == "0" ? "否" : "是",
x.GroupNo,
x.ExamNo,
x.ExamCount,
x.DeviceNo,
x.OwnerDepartId,
x.UploadTime,
x.Answers,
x.CreateDate,
x.CreateUser,
x.OperDate,
x.OperUser,
};
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int examcount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_Exam> getExams = from x in db.Bo_Sheng_Exam select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getExamListData(string projectId, string qsnCode,string qsnContent, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_Exam> getDataList = getExams.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(qsnCode))
{
getDataList = getDataList.Where(x => x.QsnCode == qsnCode);
}
if (!string.IsNullOrEmpty(qsnContent))
{
getDataList = getDataList.Where(x => x.QsnContent.Contains(qsnContent));
}
examcount = getDataList.Count();
if (examcount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.RecordId,
x.ExamNo,
x.GroupNo,
x.CourseID,
x.COrder,
x.QsnCode,
x.QsnId,
x.QsnContent,
x.QsnFileName,
x.QsnAnswer,
x.QsnCategory,
QsnCategoryName= x.QsnCategory=="3"? "图片题" : (x.QsnCategory == "2"? "多媒体题" : "文字题"),
x.QsnKind,
QsnKindName = x.QsnKind == "3" ? "判断" : (x.QsnCategory == "2" ? "多选" : "单选"),
x.QsnImportant,
QsnImportantName = x.QsnImportant == "2" ? "困难" : (x.QsnCategory == "1" ? "一般" : "容易"),
x.Description,
x.Analysis,
x.UploadTime,
};
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int personTrainRecordcount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Bo_Sheng_PersonTrainRecord> getPersonTrainRecords = from x in db.Bo_Sheng_PersonTrainRecord select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getPersonTrainRecordListData(string projectId, string departName, string name, string identifyID, Grid Grid1)
{
IQueryable<Model.Bo_Sheng_PersonTrainRecord> getDataList = getPersonTrainRecords.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(name))
{
getDataList = getDataList.Where(x => x.EmpName.Contains(name));
}
if (!string.IsNullOrEmpty(departName))
{
getDataList = getDataList.Where(x => x.DepartName.Contains(departName));
}
if (!string.IsNullOrEmpty(identifyID))
{
getDataList = getDataList.Where(x => x.IdentifyId.Contains(identifyID));
}
personTrainRecordcount = getDataList.Count();
if (personTrainRecordcount == 0)
{
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getDataList
select new
{
x.ID,
x.ProjectId,
x.EmpName,
x.IdentifyId,
x.CategoryName,
x.RecordId,
x.DepartId,
x.DepartName,
x.TrainPeriod,
x.TotalScore,
x.PassScore,
x.Score,
x.IsPass,
IsPassName = x.IsPass == "0" ? "否" : "是",
x.GroupNo,
x.ExamNo,
x.ExamCount,
x.DeviceNo,
x.OwnerDepartId,
x.Answers,
x.RecordName,
x.TrainType,
x.PaperMode,
PaperModeName = x.PaperMode == "0" ? "使用原卷" : "重新出卷",
x.TrainMode,
x.TrainPrincipal,
x.TrainStartDate,
x.TrainEndDate,
x.TrainContent,
x.TrainDescript,
};
}
#endregion
}
}

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,127 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoPerson.aspx.cs"
Inherits="FineUIPro.Web.BoSheng.BoPerson" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>人员信息</title>
<style type="text/css">
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="人员信息" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ID" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
DataIDField="ID" AllowSorting="true" SortField="Name" EnableTextSelection="True"
SortDirection="ASC" EnableColumnLines="true" OnSort="Grid1_Sort">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" EmptyText="按单位查询" ID="txtDepartName"></f:TextBox>
<f:TextBox runat="server" EmptyText="按姓名查询" ID="txtName"></f:TextBox>
<f:TextBox runat="server" EmptyText="按身份证号码查询" ID="txtIdentifyID"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="60px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="200px" ColumnID="DepartName" DataField="DepartName"
FieldType="String" HeaderText="所在单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Name" DataField="Name"
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="IdentifyID" DataField="IdentifyID"
FieldType="String" HeaderText="身份证号码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="50px" ColumnID="SexName" DataField="SexName"
FieldType="String" HeaderText="性别" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BirthDay" DataField="BirthDay"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="出生年月"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Station" DataField="Station"
FieldType="String" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="Address" DataField="Address"
FieldType="String" HeaderText="地址" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Police" DataField="Police"
FieldType="String" HeaderText="发证机关" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ValidPeriodStart" DataField="ValidPeriodStart"
FieldType="String" HeaderText="有效期" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ValidPeriodEnd" DataField="ValidPeriodEnd"
FieldType="String" HeaderText="止" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="Telephone" DataField="Telephone"
FieldType="String" HeaderText="电话" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Age" DataField="Age"
FieldType="Int" HeaderText="年龄" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="JobNumber" DataField="JobNumber"
FieldType="String" HeaderText="工号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="NewAddress" DataField="NewAddress"
FieldType="String" HeaderText="现地址" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="RegisterDate" DataField="RegisterDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
HeaderText="登记时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CategoryLevel" DataField="CategoryLevel"
FieldType="String" HeaderText="专业等级" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="EntranceDate" DataField="EntranceDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
HeaderText="入场时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="IsOutName" DataField="IsOutName"
FieldType="String" HeaderText="是否离场" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="LeaveDate" DataField="LeaveDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
HeaderText="出场时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="70px" ColumnID="IsBlackListName" DataField="IsBlackListName"
FieldType="String" HeaderText="黑名单" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

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 BoPerson : PageBase
{
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
//this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
//this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.GridBind();
}
}
/// <summary>
/// 获取数据,合并相同行
/// </summary>
private void GridBind()
{
var getData = BOSHENGService.getPersonListData(this.CurrUser.LoginProjectId, this.txtDepartName.Text.Trim(),this.txtName.Text.Trim(), this.txtIdentifyID.Text.Trim(), Grid1);
Grid1.RecordCount = BOSHENGService.personcount;
Grid1.DataSource = getData;
Grid1.DataBind();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
this.GridBind();
}
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("人员信息" + filename, Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.GridBind();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.GridBind();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.GridBind();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.GridBind();
}
#endregion
}
}

View File

@ -0,0 +1,141 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.BoSheng {
public partial class BoPerson {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtDepartName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtDepartName;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// txtIdentifyID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIdentifyID;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// labNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

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,118 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BoTrain.aspx.cs"
Inherits="FineUIPro.Web.BoSheng.BoTrain" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>培训记录</title>
<style type="text/css">
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="培训记录" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ID" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
DataIDField="ID" AllowSorting="true" SortField="TrainStartDate" EnableTextSelection="True"
SortDirection="DESC" EnableColumnLines="true" OnSort="Grid1_Sort">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" EmptyText="按类型查询" ID="txtTrainType"></f:TextBox>
<f:TextBox runat="server" EmptyText="按名称查询" ID="txtName"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" ToolTip="查询" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="60px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="TrainType" DataField="TrainType"
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="RecordName" DataField="RecordName"
FieldType="String" HeaderText="名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="PaperModeName" DataField="PaperModeName"
FieldType="String" HeaderText="出卷类型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="TrainMode" DataField="TrainMode"
FieldType="String" HeaderText="培训方式" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TrainPrincipal" DataField="TrainPrincipal"
FieldType="String" HeaderText="培训负责人" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="TrainStartDate" DataField="TrainStartDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
HeaderText="培训开始时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="TrainEndDate" DataField="TrainEndDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss"
HeaderText="培训结束时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="TrainContent" DataField="TrainContent"
FieldType="String" HeaderText="培训内容" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="350px" ColumnID="TrainDescript" DataField="TrainDescript"
FieldType="String" HeaderText="培训详细信息" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="TrainPeriod" DataField="TrainPeriod"
FieldType="String" HeaderText="培训学时" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="PersonCount" DataField="PersonCount"
FieldType="String" HeaderText="人员数量" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="PassedCount" DataField="PassedCount"
FieldType="String" HeaderText="合格人数" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="CourseCount" DataField="CourseCount"
FieldType="String" HeaderText="课程数量" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="CourseDuration" DataField="CourseDuration"
FieldType="Int" HeaderText="课程总时长" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="SourceName" DataField="SourceName"
FieldType="String" HeaderText="来源" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Description" DataField="Description"
FieldType="String" HeaderText="说明" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DeviceNo" DataField="DeviceNo"
FieldType="String" HeaderText="工具箱编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="TrainDepart" DataField="TrainDepart"
FieldType="String" HeaderText="培训单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="UploadTime" DataField="UploadTime"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上传时间"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

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

View File

@ -0,0 +1,132 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.BoSheng {
public partial class BoTrain {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtTrainType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrainType;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// labNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

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

@ -222,6 +222,12 @@
<Content Include="BaseInfo\UnitType.aspx" />
<Content Include="BaseInfo\WorkPost.aspx" />
<Content Include="BaseInfo\WorkStage.aspx" />
<Content Include="BoSheng\BoExam.aspx" />
<Content Include="BoSheng\BoPersonTrainRecord.aspx" />
<Content Include="BoSheng\BoTrainPerson.aspx" />
<Content Include="BoSheng\BoTrain.aspx" />
<Content Include="BoSheng\BoPerson.aspx" />
<Content Include="BoSheng\BoUnit.aspx" />
<Content Include="CLGL\ContractQuantitySheet.aspx" />
<Content Include="CLGL\GoodsShelves.aspx" />
<Content Include="CLGL\Material.aspx" />
@ -5927,6 +5933,48 @@
<Compile Include="BaseInfo\WorkStage.aspx.designer.cs">
<DependentUpon>WorkStage.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoExam.aspx.cs">
<DependentUpon>BoExam.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoExam.aspx.designer.cs">
<DependentUpon>BoExam.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoPersonTrainRecord.aspx.cs">
<DependentUpon>BoPersonTrainRecord.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoPersonTrainRecord.aspx.designer.cs">
<DependentUpon>BoPersonTrainRecord.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoTrainPerson.aspx.cs">
<DependentUpon>BoTrainPerson.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoTrainPerson.aspx.designer.cs">
<DependentUpon>BoTrainPerson.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoTrain.aspx.cs">
<DependentUpon>BoTrain.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoTrain.aspx.designer.cs">
<DependentUpon>BoTrain.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoPerson.aspx.cs">
<DependentUpon>BoPerson.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoPerson.aspx.designer.cs">
<DependentUpon>BoPerson.aspx</DependentUpon>
</Compile>
<Compile Include="BoSheng\BoUnit.aspx.cs">
<DependentUpon>BoUnit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="BoSheng\BoUnit.aspx.designer.cs">
<DependentUpon>BoUnit.aspx</DependentUpon>
</Compile>
<Compile Include="CLGL\ContractQuantitySheet.aspx.cs">
<DependentUpon>ContractQuantitySheet.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -77,6 +77,16 @@
{
ErrLogInfo.WriteLog("从集团获取数据定时器!", ex);
}
////从博晟获取培训考试数据定时器
try
{
BLL.BOSHENGMonitorService.StartMonitor();
}
catch (Exception ex)
{
ErrLogInfo.WriteLog("从博晟获取培训考试数据定时器!", ex);
}
}
protected void Session_Start(object sender, EventArgs e)

View File

@ -49,8 +49,14 @@
<TreeNode id="0EEB138D-84F9-4686-8CBB-CAEAA6CF1B2A" Text="考试记录" NavigateUrl="HSSE/EduTrain/TestRecord.aspx"></TreeNode>
<TreeNode id="6FF941C1-8A00-4A74-8111-C892FC30A8DA" Text="考试统计" NavigateUrl="HSSE/EduTrain/TestStatistics.aspx"></TreeNode>
</TreeNode>
<TreeNode id="3FD5EEC5-B3ED-4944-B9E9-6B8C923316E3" Text="博晟培训考试" NavigateUrl=""><TreeNode id="FCA7A020-9F1B-4E1B-B457-001E05A19774" Text="项目单位" NavigateUrl="BoSheng/BoUnit.aspx"></TreeNode>
<TreeNode id="4E0030F6-EF5E-40A6-939F-C29BC4D7CEE1" Text="人员信息" NavigateUrl="BoSheng/BoPerson.aspx"></TreeNode>
<TreeNode id="9DF3DA33-E80D-4BF5-882C-842E400F7CAF" Text="培训记录" NavigateUrl="BoSheng/BoTrain.aspx"></TreeNode>
<TreeNode id="17666A2C-EE47-42DE-AB8E-E23088BB156D" Text="培训人员" NavigateUrl="BoSheng/BoTrainPerson.aspx"></TreeNode>
<TreeNode id="909BBC10-68D4-4C97-9FC3-9C1168D5FBC5" Text="培训试卷" NavigateUrl="BoSheng/BoExam.aspx"></TreeNode>
<TreeNode id="C5DF2DE4-EB56-45F9-9881-6CD0B7A8E72F" Text="人员培训记录" NavigateUrl="BoSheng/BoPersonTrainRecord.aspx"></TreeNode>
</TreeNode>
<TreeNode id="467A0CB9-737D-4451-965E-869EBC3A4BD6" Text="HSE检查" NavigateUrl=""><TreeNode id="2FC8AA2A-F421-4174-A05E-2711167AF141" Text="HSE巡检" NavigateUrl="HSSE/HiddenInspection/HiddenRectificationList.aspx"></TreeNode>
<TreeNode id="0E30F917-0C51-4C45-BD19-981039CA44F5" Text="日常巡检" NavigateUrl="HSSE/Check/CheckDayWH.aspx"></TreeNode>
<TreeNode id="1B08048F-93ED-4E84-AE65-DB7917EA2DFB" Text="专项检查" NavigateUrl="HSSE/Check/CheckSpecial.aspx"></TreeNode>
<TreeNode id="C198EBA8-9E23-4654-92E1-09C61105C522" Text="综合检查" NavigateUrl="HSSE/Check/CheckColligation.aspx"></TreeNode>
<TreeNode id="9212291A-FBC5-4F6D-A5F6-60BFF4E30F6F" Text="开工前检查" NavigateUrl="HSSE/Check/CheckWork.aspx"></TreeNode>

View File

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="858E83E9-ADE5-452E-BD65-82D8DFF872C0" Text="分部、工作项及费用清单设置" NavigateUrl="JDGL/WBS/WBSSetAudit.aspx">
<TreeNode id="92CBD072-20F8-45B1-9D17-6F7494DD2020" Text="数据导入" NavigateUrl="">
<TreeNode id="F3AA42B3-5776-4992-A625-1216C579FEDE" Text="项目进度情况" NavigateUrl="JDGL/Check/ProgressCompletion.aspx">
</TreeNode>
<TreeNode id="E3905BF1-289B-4500-BD34-36F97D649AFC" Text="工作量录入" NavigateUrl="JDGL/WBS/WorkloadInput.aspx"></TreeNode>
<TreeNode id="2A3F8526-95C7-4D30-B2DD-DD26696BE150" Text="工作量统计" NavigateUrl="JDGL/WBS/WorkloadStatistics.aspx"></TreeNode>
<TreeNode id="59AAE0F0-2DB6-4065-B304-7E2C56EC3E5D" Text="赢得值曲线" NavigateUrl="JDGL/CostAnalysis/EarnedValueCurve.aspx"></TreeNode>
<TreeNode id="9CAF311E-C234-4DA4-B235-D4E478FBD80E" Text="里程碑" NavigateUrl="JDGL/WBS/MilePost.aspx"></TreeNode>
<TreeNode id="92CBD072-20F8-45B1-9D17-6F7494DD2020" Text="数据导入" NavigateUrl=""><TreeNode id="F3AA42B3-5776-4992-A625-1216C579FEDE" Text="项目进度情况" NavigateUrl="JDGL/Check/ProgressCompletion.aspx"></TreeNode>
<TreeNode id="2AE9D982-A499-497F-8F54-ADDA5856887E" Text="工程量完成情况" NavigateUrl="JDGL/Check/QuantityCompletion.aspx"></TreeNode>
<TreeNode id="82E513B9-1A6F-495A-A633-EBC89CE5273A" Text="低温储罐完成情况" NavigateUrl="JDGL/Check/LowTankCompletion.aspx"></TreeNode>
<TreeNode id="4ACA0647-4D44-462E-8277-1EF9F100566A" Text="钢结构完成情况" NavigateUrl="JDGL/Check/SteelStructureCompletion.aspx"></TreeNode>

File diff suppressed because it is too large Load Diff

View File

@ -237,15 +237,24 @@ namespace WebAPI.Controllers
{
if (facerecord != null)
{
var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == facerecord.ProjectId && x.RoleID == facerecord.RoleID);
string projectId = facerecord.ProjectId;
string personName = facerecord.EmployName;
var getPersonByIdCard = db.SitePerson_Person.Where(x => x.IdentityCard == facerecord.EmployNO).OrderByDescending(x => x.InTime).FirstOrDefault();
if (getPersonByIdCard != null)
{
personName = getPersonByIdCard.PersonName;
projectId = getPersonByIdCard.ProjectId;
}
var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == projectId && x.RoleID == facerecord.RoleID);
if (getFacerecord == null)
{
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
{
NewID = SQLHelper.GetNewID(),
ProjectId = facerecord.ProjectId,
ProjectId = projectId,
ID = facerecord.ID,
EmployName = facerecord.EmployName,
EmployName =personName,
DepartmentID = facerecord.DepartmentID,
DepartName = facerecord.DepartName,
AreaID = facerecord.AreaID,
@ -275,7 +284,7 @@ namespace WebAPI.Controllers
{
isIn = 1;
}
APIPersonService.getPersonInOut(facerecord.ProjectId, facerecord.EmployNO, isIn, facerecord.DateTimeRecord.Value);
APIPersonService.getPersonInOut(projectId, facerecord.EmployNO, isIn, facerecord.DateTimeRecord.Value);
}
}
}