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))
{
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
/// <param name="workPostIds">培训岗位ID</param>
/// <param name="trainTypeId">培训类型ID</param>
/// <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))
{
@@ -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<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
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))
{
+4
View File
@@ -97,6 +97,10 @@ namespace Model
/// </summary>
public string InTime { get; set; }
/// <summary>
/// 入场时间
/// </summary>
public DateTime? InTimeValue { get; set; }
/// <summary>
/// 出场时间
/// </summary>
public string OutTime { get; set; }
+18 -18
View File
@@ -112,7 +112,7 @@ namespace WebAPI.Controllers
/// <param name="pageindex">页码(从1开始)</param>
/// <param name="returnAll">是否返回全部数据</param>
/// <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();
try
@@ -382,12 +382,12 @@ namespace WebAPI.Controllers
/// <param name="trainTypeId">培训类型ID(可为空)</param>
/// <param name="pageIndex">分页</param>
/// <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();
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
/// <param name="name"></param>
/// <param name="pageIndex"></param>
/// <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();
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
/// <param name="idCard"></param>
/// <param name="type"></param>
/// <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();
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)
{