This commit is contained in:
2021-08-12 10:45:31 +08:00
parent 16bd4f1767
commit bacbffb714
31 changed files with 23671 additions and 53 deletions
+88 -34
View File
@@ -898,6 +898,7 @@ namespace BLL
}
getPerson.ExchangeTime2 = null;
getPerson.RealNameUpdateTime = null;
getPerson.IsForeign = person.IsForeign;
getPerson.IsOutside = person.IsOutside;
db.SubmitChanges();
@@ -1099,7 +1100,7 @@ namespace BLL
}
#endregion
#region
#region
/// <summary>
/// 获取人员信息出入场记录
/// </summary>
@@ -1153,6 +1154,14 @@ namespace BLL
#region
/// <summary>
///
/// </summary>
public static int getPersonInOutListCount
{
get;
set;
}
/// <summary>
/// 获取人员信息出入场记录
/// </summary>
/// <param name="projectId"></param>
@@ -1161,84 +1170,114 @@ namespace BLL
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public static List<Model.PersonInOutItem> getPersonInOutList(string projectId, string userUnitId, string unitId, string workPostId, string strParam, string startTime, string endTime)
public static List<Model.PersonInOutItem> getPersonInOutList(string projectId, string userUnitId, string unitId, string workPostId, string strParam, string startTime, string endTime, int pageIndex)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
DateTime? startTimeD = Funs.GetNewDateTime(startTime);
DateTime? endTimeD = Funs.GetNewDateTime(endTime);
var personInOuts = from x in db.SitePerson_PersonInOut
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
where x.ProjectId == projectId
select new Model.PersonInOutItem
{
PersonId = x.PersonId,
PersonName = y.PersonName,
ProjectId = x.ProjectId,
UnitId = y.UnitId,
UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
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,
};
var getPersonInOutList = from x in db.SitePerson_PersonInOut
where x.ProjectId == projectId
select x;
if (!string.IsNullOrEmpty(userUnitId) && userUnitId != Const.UnitId_CWCEC)
{
personInOuts = personInOuts.Where(x => x.UnitId == userUnitId);
getPersonInOutList = getPersonInOutList.Where(x => x.UnitId == userUnitId);
}
if (!string.IsNullOrEmpty(unitId))
{
personInOuts = personInOuts.Where(x => x.UnitId == unitId);
getPersonInOutList = getPersonInOutList.Where(x => x.UnitId == unitId);
}
if (!string.IsNullOrEmpty(workPostId))
{
personInOuts = personInOuts.Where(x => x.WorkPostId == workPostId);
getPersonInOutList = getPersonInOutList.Where(x => x.WorkPostId == workPostId);
}
if (startTimeD.HasValue)
{
personInOuts = personInOuts.Where(x => x.ChangeTimeD >= startTimeD);
getPersonInOutList = getPersonInOutList.Where(x => x.ChangeTime >= startTimeD);
}
if (endTimeD.HasValue)
{
personInOuts = personInOuts.Where(x => x.ChangeTimeD <= endTimeD);
getPersonInOutList = getPersonInOutList.Where(x => x.ChangeTime <= endTimeD);
}
if (!string.IsNullOrEmpty(strParam))
{
personInOuts = personInOuts.Where(x => x.PersonName.Contains(strParam));
getPersonInOutList = from x in getPersonInOutList
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
where y.ProjectId == projectId && y.PersonName.Contains(strParam)
select x;
}
getPersonListCount = getPersonInOutList.Count();
if (getPersonListCount == 0)
{
return null;
}
else
{
var personInOuts = from x in getPersonInOutList
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
where x.ProjectId == projectId
select new Model.PersonInOutItem
{
PersonId = x.PersonId,
PersonName = y.PersonName,
ProjectId = x.ProjectId,
UnitId = y.UnitId,
UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
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 (pageIndex > 0)
{
return personInOuts.OrderByDescending(x => x.ChangeTimeD).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
else
{
return personInOuts.ToList();
}
}
return personInOuts.OrderByDescending(x => x.ChangeTimeD).ToList();
}
}
#endregion
#region ID获取个人出入场记录
/// <summary>
///
/// </summary>
public static int getPersonInOutListByPersonIdCount
{
get;
set;
}
/// <summary>
/// 根据人员ID获取个人出入场记录
/// </summary>
/// <param name="personId"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public static List<Model.PersonInOutItem> getPersonInOutListByPersonId(string personId, string startTime, string endTime)
public static List<Model.PersonInOutItem> getPersonInOutListByPersonId(string personId, string startTime, string endTime, int pageIndex)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
DateTime? startTimeD = Funs.GetNewDateTime(startTime);
DateTime? endTimeD = Funs.GetNewDateTime(endTime);
var personInOuts = from x in db.SitePerson_PersonInOut
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
where x.PersonId == personId
select new Model.PersonInOutItem
{
PersonInOutId =x.PersonInOutId,
PersonId = x.PersonId,
PersonName = y.PersonName,
PersonName = db.SitePerson_Person.First(z=>z.PersonId==x.PersonId).PersonName,
ProjectId = x.ProjectId,
UnitId = y.UnitId,
UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
WorkPostId = y.WorkPostId,
WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
UnitId = x.UnitId,
UnitName = db.Base_Unit.First(z => z.UnitId == x.UnitId).UnitName,
WorkPostId = x.WorkPostId,
WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == x.WorkPostId).WorkPostName,
IsIn = x.IsIn,
IsInName = x.IsIn == true ? "进场" : "出场",
ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime),
@@ -1252,7 +1291,22 @@ namespace BLL
{
personInOuts = personInOuts.Where(x => x.ChangeTimeD <= endTimeD);
}
return personInOuts.OrderByDescending(x => x.ChangeTimeD).ToList();
getPersonListCount = personInOuts.Count();
if (getPersonListCount == 0)
{
return null;
}
else
{
if (pageIndex > 0)
{
return personInOuts.OrderByDescending(x => x.ChangeTimeD).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
else
{
return personInOuts.ToList();
}
}
}
}
#endregion