20230915新增项目当前在场人员统计页面

This commit is contained in:
2023-09-15 11:27:02 +08:00
parent 508d10c3e5
commit 5bb940a5cc
14 changed files with 553 additions and 10 deletions
@@ -137,7 +137,7 @@ namespace BLL
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getInPsersonListData(string projectId, string unitId, string personName, string identityCard, Grid Grid1)
public static IEnumerable getInPersonListData(string projectId, string unitId, string personName, string identityCard, Grid Grid1)
{
IQueryable<Model.SitePerson_Person> getInPersonList = getInPersonLists.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null)
@@ -183,6 +183,103 @@ namespace BLL
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int nowCount
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.SitePerson_PersonInOutNow> getNowPersonLists = from x in db.SitePerson_PersonInOutNow
select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="PageIndex">页码</param>
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
public static IEnumerable getNowPersonListData(string projectId, string unitId, string workPostId, string personName, string identityCard, DateTime dateValue, Grid Grid1)
{
IQueryable<Model.SitePerson_PersonInOutNow> getDayAll = getNowPersonLists.Where(x=>x.ProjectId == projectId
&& x.ChangeTime.Value.Year == dateValue.Year && x.ChangeTime.Value.Month == dateValue.Month
&& x.ChangeTime.Value.Day == dateValue.Day);
if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null)
{
getDayAll = getDayAll.Where(x => x.UnitId == unitId);
}
if (!string.IsNullOrEmpty(personName))
{
getDayAll = getDayAll.Where(x => x.PersonName.Contains(personName));
}
if (!string.IsNullOrEmpty(identityCard))
{
getDayAll = getDayAll.Where(x => x.IdentityCard.Contains(identityCard));
}
if (!string.IsNullOrEmpty(workPostId) && workPostId != Const._Null)
{
getDayAll = getDayAll.Where(x => x.WorkPostId == workPostId);
}
if (getDayAll.Count() > 0)
{
var getInMaxs = from x in getDayAll
group x by x.PersonId into g
select new
{
ProjectId = g.First().ProjectId,
PersonId = g.First().PersonId,
personName = g.First().PersonName,
identityCard = g.First().IdentityCard,
UnitId = g.First().UnitId,
UnitName = g.First().UnitName,
WorkPostName = g.First().WorkPostName,
ChangeTime = g.Max(x => x.ChangeTime),
IsIn = g.First().IsIn,
PostType = g.First().PostType,
WorkPostId = g.First().WorkPostId,
};
if (getInMaxs.Count() > 0)
{
getInMaxs = getInMaxs.Where(x => x.IsIn == true);
}
inCount = getInMaxs.Count();
if (inCount == 0)
{
return null;
}
getInMaxs = SortConditionHelper.SortingAndPaging(getInMaxs, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in getInMaxs
select new
{
x.PersonId,
x.personName,
x.identityCard,
CardNo =db.SitePerson_Person.First(p=>p.PersonId == x.PersonId && p.ProjectId ==x.ProjectId).CardNo,
x.UnitName,
x.UnitId,
x.WorkPostId,
x.WorkPostName,
TeamGroupName=TeamGroupService.GetTeamGroupNameByPersonId(x.ProjectId,x.PersonId),
x.ChangeTime,
};
}
else
{
inCount =0;
return null;
}
}
#endregion
#region --
#region
/// <summary>
+15
View File
@@ -167,5 +167,20 @@ namespace BLL
}
return name;
}
public static string GetTeamGroupNameByPersonId(string projectId, string personId)
{
string name = string.Empty;
var getSitePerson = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == projectId && x.PersonId == personId);
if (getSitePerson != null)
{
var TeamGroup = Funs.DB.ProjectData_TeamGroup.FirstOrDefault(x => x.TeamGroupId == getSitePerson.TeamGroupId);
if (TeamGroup != null)
{
name = TeamGroup.TeamGroupName;
}
}
return name;
}
}
}