20230915新增项目当前在场人员统计页面
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user