|
|
|
|
@ -345,12 +345,20 @@ namespace ATS.NonCustodial.Application.Impl.Business
|
|
|
|
|
case null: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取当前用户权限下的案件ids |
|
|
|
|
var limits = User.limits; |
|
|
|
|
var selectLimits = await _appCaseSupervisorRepository.AsQueryable(false, true) |
|
|
|
|
.Where(w => limits.Contains(w.UnitId.ToString())) |
|
|
|
|
.ToListAsync(); |
|
|
|
|
var caseIdList = selectLimits.Select(w => w.CaseId).Distinct().ToList(); |
|
|
|
|
|
|
|
|
|
//根据当前登录人查看其手里的案件被监管人 |
|
|
|
|
var spList = await base.GetCurrentUserCaseListAsync(); |
|
|
|
|
var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync(); |
|
|
|
|
var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null && caseIdList.Contains(q.AppCaseSupervisedPerson.CaseId)).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync(); |
|
|
|
|
//查询记录 |
|
|
|
|
var query = await _appPunchRecordStatisticsRepository |
|
|
|
|
.AsQueryable(false, true).Where(q => spIds.Contains(q.SupervisedPersonId)) |
|
|
|
|
.AsQueryable(false, true).Where(q => spIds.Contains(q.SupervisedPersonId)&& caseIdList.Contains(q.CaseId)) |
|
|
|
|
.WhereIf(input.CaseId != default, a => a.CaseId == input.CaseId) |
|
|
|
|
.WhereIf(input.SupervisedPersonId != default, w => w.SupervisedPersonId == input.SupervisedPersonId) |
|
|
|
|
.WhereIf(startTime != DateTime.MinValue, w => w.CreatedTime >= startTime) |
|
|
|
|
|