From 8cb99d48f594c1e10581139a9b32f998ad796b23 Mon Sep 17 00:00:00 2001
From: gaofei1985 <181547018@qq.com>
Date: Tue, 7 Apr 2026 16:56:10 +0800
Subject: [PATCH] 1
---
SGGL/BLL/API/APIPersonService.cs | 61 ++++++++++++---------
SGGL/Model/APIItem/HSSE/PersonItem.cs | 4 ++
SGGL/WebAPI/Controllers/PersonController.cs | 36 ++++++------
3 files changed, 57 insertions(+), 44 deletions(-)
diff --git a/SGGL/BLL/API/APIPersonService.cs b/SGGL/BLL/API/APIPersonService.cs
index 7a24e5dc..cb0ea5b0 100644
--- a/SGGL/BLL/API/APIPersonService.cs
+++ b/SGGL/BLL/API/APIPersonService.cs
@@ -304,7 +304,7 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var query = from x in db.View_SitePerson_Person
- select x;
+ select x;
// 添加过滤条件
if (filter != null)
@@ -371,13 +371,14 @@ namespace BLL
if (!string.IsNullOrEmpty(filter.WorkPostName))
{
query = query.Where(x => x.WorkPostName.Contains(filter.WorkPostName));
- }
+ }
}
// 默认只返回在岗人员
query = query.Where(x => x.States == Const.ProjectPersonStates_1);
- var persons = from x in query orderby x.CardNo descending
+ var persons = from x in query
+ orderby x.CardNo descending
select new Model.ProjectPersonOutput
{
PersonId = x.PersonId,
@@ -388,7 +389,7 @@ namespace BLL
IdentityCard = x.IdentityCard,
ProjectId = x.ProjectId,
ProjectName = x.ProjectName,
- ProjectCode= x.ProjectCode,
+ ProjectCode = x.ProjectCode,
UnitId = x.UnitId,
UnitName = x.UnitName,
TeamGroupName = x.TeamGroupName,
@@ -559,7 +560,7 @@ namespace BLL
/// 培训岗位ID
/// 培训类型ID
///
- public static List getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name)
+ public static List getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, string startDate, string endDate)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
@@ -585,6 +586,7 @@ namespace BLL
TeamGroupName = x.TeamGroupName,
WorkPostId = x.WorkPostId,
WorkPostName = x.WorkPostName,
+ InTimeValue = x.InTime,
InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
OutResult = x.OutResult,
@@ -608,7 +610,14 @@ namespace BLL
{
getPersons = getPersons.Where(x => x.PersonName.Contains(name));
}
-
+ if (!string.IsNullOrEmpty(startDate))
+ {
+ getPersons = getPersons.Where(x => x.InTimeValue >= Funs.GetNewDateTime(startDate));
+ }
+ if (!string.IsNullOrEmpty(endDate))
+ {
+ getPersons = getPersons.Where(x => x.InTimeValue <= Funs.GetNewDateTime(endDate));
+ }
List getTrainPersonList = new List();
var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
@@ -1115,31 +1124,31 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var query = from x in db.SitePerson_PersonInOut
- join y in db.SitePerson_Person on x.PersonId equals y.PersonId
- join z in db.Base_Project on x.ProjectId equals z.ProjectId
+ join y in db.SitePerson_Person on x.PersonId equals y.PersonId
+ join z in db.Base_Project on x.ProjectId equals z.ProjectId
where x.ChangeTime >= filter.StartTime && x.ChangeTime <= filter.EndTime
select new Model.PersonInOutItem
- {
- PersonId = x.PersonId,
- PersonName = y.PersonName,
- ProjectId = x.ProjectId,
- ProjectCode=z.ProjectCode,
- ProjectName=z.ProjectName,
- UnitId = y.UnitId,
- UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
- IdentityCard=x.IdentityCard,
- WorkPostId = y.WorkPostId,
- WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
- IsIn = x.IsIn,
- IsInName = x.IsIn == true ? "进场" : "出场",
- ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime),
- ChangeTimeD = x.ChangeTime,
- };
+ {
+ PersonId = x.PersonId,
+ PersonName = y.PersonName,
+ ProjectId = x.ProjectId,
+ ProjectCode = z.ProjectCode,
+ ProjectName = z.ProjectName,
+ UnitId = y.UnitId,
+ UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
+ IdentityCard = x.IdentityCard,
+ WorkPostId = y.WorkPostId,
+ WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
+ IsIn = x.IsIn,
+ IsInName = x.IsIn == true ? "进场" : "出场",
+ ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime),
+ ChangeTimeD = x.ChangeTime,
+ };
// 添加过滤条件
if (filter != null)
- {
-
+ {
+
// 单位名称过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.UnitName))
{
diff --git a/SGGL/Model/APIItem/HSSE/PersonItem.cs b/SGGL/Model/APIItem/HSSE/PersonItem.cs
index 94ae9006..126294de 100644
--- a/SGGL/Model/APIItem/HSSE/PersonItem.cs
+++ b/SGGL/Model/APIItem/HSSE/PersonItem.cs
@@ -97,6 +97,10 @@ namespace Model
///
public string InTime { get; set; }
///
+ /// 入场时间
+ ///
+ public DateTime? InTimeValue { get; set; }
+ ///
/// 出场时间
///
public string OutTime { get; set; }
diff --git a/SGGL/WebAPI/Controllers/PersonController.cs b/SGGL/WebAPI/Controllers/PersonController.cs
index 1e294520..24cd115f 100644
--- a/SGGL/WebAPI/Controllers/PersonController.cs
+++ b/SGGL/WebAPI/Controllers/PersonController.cs
@@ -112,7 +112,7 @@ namespace WebAPI.Controllers
/// 页码(从1开始)
/// 是否返回全部数据
///
- public Model.ResponeData getPersonByFilter([FromUri] Model.ProjectPersonInput filter, int? pagesize = 15, int? pageindex = 1, bool ? returnAll = false)
+ public Model.ResponeData getPersonByFilter([FromUri] Model.ProjectPersonInput filter, int? pagesize = 15, int? pageindex = 1, bool? returnAll = false)
{
var responeData = new Model.ResponeData();
try
@@ -382,12 +382,12 @@ namespace WebAPI.Controllers
/// 培训类型ID(可为空)
/// 分页
///
- public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex)
+ public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex, string startDate, string endDate)
{
var responeData = new Model.ResponeData();
try
{
- var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId,null).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
+ var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, null).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{
@@ -413,12 +413,12 @@ namespace WebAPI.Controllers
///
///
///
- public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId,string name, int pageIndex)
+ public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
- var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId,name).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
+ var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, name).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{
@@ -779,7 +779,7 @@ namespace WebAPI.Controllers
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
join persons in Funs.DB.Person_Persons on x.IdentityCard equals persons.IdentityCard
where x.ProjectId == projectId && !x.ExchangeTime.HasValue
- && x.States == Const.ProjectPersonStates_1 && x.CardNo.Length> 5 && persons.PhotoUrl != null
+ && x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null
select new
{
x.PersonId,
@@ -798,7 +798,7 @@ namespace WebAPI.Controllers
TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
x.ExchangeTime,
x.ExchangeTime2,
- PhotoUrl=persons.PhotoUrl.Replace('\\', '/'),
+ PhotoUrl = persons.PhotoUrl.Replace('\\', '/'),
}).Take(200).ToList();
}
catch (Exception ex)
@@ -813,17 +813,17 @@ namespace WebAPI.Controllers
var responeData = new Model.ResponeData();
try
{
- // var trainingIds = Funs.DB.EduTrain_TrainRecord.Where(x => projectId == projectId).Select(x => x.TrainingId).ToList();
- // var personIds = Funs.DB.EduTrain_TrainRecordDetail.Where(x => trainingIds.Contains(x.TrainingId)).Select(x=>x.PersonId).ToList(); ;
+ // var trainingIds = Funs.DB.EduTrain_TrainRecord.Where(x => projectId == projectId).Select(x => x.TrainingId).ToList();
+ // var personIds = Funs.DB.EduTrain_TrainRecordDetail.Where(x => trainingIds.Contains(x.TrainingId)).Select(x=>x.PersonId).ToList(); ;
responeData.data = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
- join persons in Funs.DB.Person_Persons on x.IdentityCard equals persons.IdentityCard
+ join persons in Funs.DB.Person_Persons on x.IdentityCard equals persons.IdentityCard
join traindetail in Funs.DB.EduTrain_TrainRecordDetail on x.PersonId equals traindetail.PersonId
join train in Funs.DB.EduTrain_TrainRecord on traindetail.TrainingId equals train.TrainingId
where x.ProjectId == projectId && !x.ExchangeTime.HasValue && train.ProjectId == projectId
&& x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null
- // where personIds.Contains(x.PersonId)
+ // where personIds.Contains(x.PersonId)
select new
{
x.PersonId,
@@ -843,13 +843,13 @@ namespace WebAPI.Controllers
persons.Address,
TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
x.ExchangeTime,
- x.ExchangeTime2,
+ x.ExchangeTime2,
x.AuditorDate,
PhotoUrl = persons.PhotoUrl.Replace('\\', '/'),
IsUsed = x.States == Const.ProjectPersonStates_1 ? 1 : 0,
- BlackList = 0
+ BlackList = 0
}).Take(200).ToList();
-
+
}
catch (Exception ex)
{
@@ -927,7 +927,7 @@ namespace WebAPI.Controllers
///
///
///
- public Model.ResponeData getUpdatePersonExchangeTime(string projectId,string idCard, string type)
+ public Model.ResponeData getUpdatePersonExchangeTime(string projectId, string idCard, string type)
{
var responeData = new Model.ResponeData();
try
@@ -940,9 +940,9 @@ namespace WebAPI.Controllers
else
{
responeData.code = 1;
- responeData.message = "当前项目不存在身份证为:" + idCard.ToString() +"的人员!";
+ responeData.message = "当前项目不存在身份证为:" + idCard.ToString() + "的人员!";
}
-
+
}
catch (Exception ex)
{
@@ -1071,7 +1071,7 @@ namespace WebAPI.Controllers
responeData.code = 0;
responeData.message = "StartTime和EndTime为必填参数!";
return responeData;
- }
+ }
// 验证时间范围
if (filter.StartTime > filter.EndTime)
{