This commit is contained in:
2026-04-07 16:56:10 +08:00
parent 48785fbdae
commit 8cb99d48f5
3 changed files with 57 additions and 44 deletions
+35 -26
View File
@@ -304,7 +304,7 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{ {
var query = from x in db.View_SitePerson_Person var query = from x in db.View_SitePerson_Person
select x; select x;
// 添加过滤条件 // 添加过滤条件
if (filter != null) if (filter != null)
@@ -371,13 +371,14 @@ namespace BLL
if (!string.IsNullOrEmpty(filter.WorkPostName)) if (!string.IsNullOrEmpty(filter.WorkPostName))
{ {
query = query.Where(x => x.WorkPostName.Contains(filter.WorkPostName)); query = query.Where(x => x.WorkPostName.Contains(filter.WorkPostName));
} }
} }
// 默认只返回在岗人员 // 默认只返回在岗人员
query = query.Where(x => x.States == Const.ProjectPersonStates_1); 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 select new Model.ProjectPersonOutput
{ {
PersonId = x.PersonId, PersonId = x.PersonId,
@@ -388,7 +389,7 @@ namespace BLL
IdentityCard = x.IdentityCard, IdentityCard = x.IdentityCard,
ProjectId = x.ProjectId, ProjectId = x.ProjectId,
ProjectName = x.ProjectName, ProjectName = x.ProjectName,
ProjectCode= x.ProjectCode, ProjectCode = x.ProjectCode,
UnitId = x.UnitId, UnitId = x.UnitId,
UnitName = x.UnitName, UnitName = x.UnitName,
TeamGroupName = x.TeamGroupName, TeamGroupName = x.TeamGroupName,
@@ -559,7 +560,7 @@ namespace BLL
/// <param name="workPostIds">培训岗位ID</param> /// <param name="workPostIds">培训岗位ID</param>
/// <param name="trainTypeId">培训类型ID</param> /// <param name="trainTypeId">培训类型ID</param>
/// <returns></returns> /// <returns></returns>
public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name) public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, string startDate, string endDate)
{ {
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{ {
@@ -585,6 +586,7 @@ namespace BLL
TeamGroupName = x.TeamGroupName, TeamGroupName = x.TeamGroupName,
WorkPostId = x.WorkPostId, WorkPostId = x.WorkPostId,
WorkPostName = x.WorkPostName, WorkPostName = x.WorkPostName,
InTimeValue = x.InTime,
InTime = string.Format("{0:yyyy-MM-dd}", x.InTime), InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime), OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
OutResult = x.OutResult, OutResult = x.OutResult,
@@ -608,7 +610,14 @@ namespace BLL
{ {
getPersons = getPersons.Where(x => x.PersonName.Contains(name)); 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<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>(); List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId); var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false)) if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
@@ -1115,31 +1124,31 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{ {
var query = from x in db.SitePerson_PersonInOut var query = from x in db.SitePerson_PersonInOut
join y in db.SitePerson_Person on x.PersonId equals y.PersonId 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 z in db.Base_Project on x.ProjectId equals z.ProjectId
where x.ChangeTime >= filter.StartTime && x.ChangeTime <= filter.EndTime where x.ChangeTime >= filter.StartTime && x.ChangeTime <= filter.EndTime
select new Model.PersonInOutItem select new Model.PersonInOutItem
{ {
PersonId = x.PersonId, PersonId = x.PersonId,
PersonName = y.PersonName, PersonName = y.PersonName,
ProjectId = x.ProjectId, ProjectId = x.ProjectId,
ProjectCode=z.ProjectCode, ProjectCode = z.ProjectCode,
ProjectName=z.ProjectName, ProjectName = z.ProjectName,
UnitId = y.UnitId, UnitId = y.UnitId,
UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName, UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
IdentityCard=x.IdentityCard, IdentityCard = x.IdentityCard,
WorkPostId = y.WorkPostId, WorkPostId = y.WorkPostId,
WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName, WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
IsIn = x.IsIn, IsIn = x.IsIn,
IsInName = x.IsIn == true ? "进场" : "出场", IsInName = x.IsIn == true ? "进场" : "出场",
ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime), ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime),
ChangeTimeD = x.ChangeTime, ChangeTimeD = x.ChangeTime,
}; };
// 添加过滤条件 // 添加过滤条件
if (filter != null) if (filter != null)
{ {
// 单位名称过滤(模糊查询) // 单位名称过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.UnitName)) if (!string.IsNullOrEmpty(filter.UnitName))
{ {
+4
View File
@@ -97,6 +97,10 @@ namespace Model
/// </summary> /// </summary>
public string InTime { get; set; } public string InTime { get; set; }
/// <summary> /// <summary>
/// 入场时间
/// </summary>
public DateTime? InTimeValue { get; set; }
/// <summary>
/// 出场时间 /// 出场时间
/// </summary> /// </summary>
public string OutTime { get; set; } public string OutTime { get; set; }
+18 -18
View File
@@ -112,7 +112,7 @@ namespace WebAPI.Controllers
/// <param name="pageindex">页码(从1开始)</param> /// <param name="pageindex">页码(从1开始)</param>
/// <param name="returnAll">是否返回全部数据</param> /// <param name="returnAll">是否返回全部数据</param>
/// <returns></returns> /// <returns></returns>
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(); var responeData = new Model.ResponeData();
try try
@@ -382,12 +382,12 @@ namespace WebAPI.Controllers
/// <param name="trainTypeId">培训类型ID(可为空)</param> /// <param name="trainTypeId">培训类型ID(可为空)</param>
/// <param name="pageIndex">分页</param> /// <param name="pageIndex">分页</param>
/// <returns></returns> /// <returns></returns>
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(); var responeData = new Model.ResponeData();
try 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; int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0) if (pageCount > 0 && pageIndex > 0)
{ {
@@ -413,12 +413,12 @@ namespace WebAPI.Controllers
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <returns></returns> /// <returns></returns>
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(); var responeData = new Model.ResponeData();
try 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; int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0) 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 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
where x.ProjectId == projectId && !x.ExchangeTime.HasValue 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 select new
{ {
x.PersonId, x.PersonId,
@@ -798,7 +798,7 @@ namespace WebAPI.Controllers
TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId), TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
x.ExchangeTime, x.ExchangeTime,
x.ExchangeTime2, x.ExchangeTime2,
PhotoUrl=persons.PhotoUrl.Replace('\\', '/'), PhotoUrl = persons.PhotoUrl.Replace('\\', '/'),
}).Take(200).ToList(); }).Take(200).ToList();
} }
catch (Exception ex) catch (Exception ex)
@@ -813,17 +813,17 @@ namespace WebAPI.Controllers
var responeData = new Model.ResponeData(); var responeData = new Model.ResponeData();
try try
{ {
// var trainingIds = Funs.DB.EduTrain_TrainRecord.Where(x => projectId == projectId).Select(x => x.TrainingId).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(); ; // 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 responeData.data = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId 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 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 join train in Funs.DB.EduTrain_TrainRecord on traindetail.TrainingId equals train.TrainingId
where x.ProjectId == projectId && !x.ExchangeTime.HasValue && train.ProjectId == projectId where x.ProjectId == projectId && !x.ExchangeTime.HasValue && train.ProjectId == projectId
&& x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null && x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null
// where personIds.Contains(x.PersonId) // where personIds.Contains(x.PersonId)
select new select new
{ {
x.PersonId, x.PersonId,
@@ -843,13 +843,13 @@ namespace WebAPI.Controllers
persons.Address, persons.Address,
TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId), TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
x.ExchangeTime, x.ExchangeTime,
x.ExchangeTime2, x.ExchangeTime2,
x.AuditorDate, x.AuditorDate,
PhotoUrl = persons.PhotoUrl.Replace('\\', '/'), PhotoUrl = persons.PhotoUrl.Replace('\\', '/'),
IsUsed = x.States == Const.ProjectPersonStates_1 ? 1 : 0, IsUsed = x.States == Const.ProjectPersonStates_1 ? 1 : 0,
BlackList = 0 BlackList = 0
}).Take(200).ToList(); }).Take(200).ToList();
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -927,7 +927,7 @@ namespace WebAPI.Controllers
/// <param name="idCard"></param> /// <param name="idCard"></param>
/// <param name="type"></param> /// <param name="type"></param>
/// <returns></returns> /// <returns></returns>
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(); var responeData = new Model.ResponeData();
try try
@@ -940,9 +940,9 @@ namespace WebAPI.Controllers
else else
{ {
responeData.code = 1; responeData.code = 1;
responeData.message = "当前项目不存在身份证为:" + idCard.ToString() +"的人员!"; responeData.message = "当前项目不存在身份证为:" + idCard.ToString() + "的人员!";
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -1071,7 +1071,7 @@ namespace WebAPI.Controllers
responeData.code = 0; responeData.code = 0;
responeData.message = "StartTime和EndTime为必填参数!"; responeData.message = "StartTime和EndTime为必填参数!";
return responeData; return responeData;
} }
// 验证时间范围 // 验证时间范围
if (filter.StartTime > filter.EndTime) if (filter.StartTime > filter.EndTime)
{ {